SSH集成hibernate配置一对一关系出错

先说明一下我的问题,我想做的是对某个表的更新操作,但是我发现更新操作虽然执行了但是没有更新数据,后来想到是因为这个表中有一个字段是另一个表的主键,也就是这两个表有关联,一个表是用户表YSysUserinfo,一个表是学生表SysStudentUserInfo,现在学生表有一个YSU_ID是用户表的主键,现在想给他们配置外键关联一对一的关系,但是运行查询就会出错,配置和错误马上就贴出

这是我的学生实体类
package com.ffour.yixing.entity;
// Generated 2017-2-16 15:45:33 by Hibernate Tools 4.0.0

import java.math.BigDecimal;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

/**

  • SysStudentUserInfo generated by hbm2java
    */
    public class SysStudentUserInfo implements java.io.Serializable {
    @SequenceGenerator(name = "SYS_STUDENT_USER_INFO$SEQ",sequenceName="SYS_STUDENT_USER_INFO$SEQ",allocationSize=1)
    @GeneratedValue(generator="SYS_STUDENT_USER_INFO$SEQ",strategy = GenerationType.SEQUENCE)
    @Id
    private long ssuiId;
    private Long ysuId;
    private String studentName;
    private Short studentSex;
    private String photoInfoUrl;
    private String studentSchool;
    private String studentMajor;
    private String studentSpecialty;
    private Short studentHeight;
    private Short studentWeight;
    private String studentPhone;
    private String studentQq;
    private BigDecimal studentScore;
    private String studentIntroduce;
    private Short studentEntrust;
    private YSysUserinfo userInfo;

    public SysStudentUserInfo() {
    }

    public SysStudentUserInfo(long ssuiId) {
    this.ssuiId = ssuiId;
    }

    public SysStudentUserInfo(long ssuiId, Long ysuId, String studentName, Short studentSex, String photoInfoUrl,
    String studentSchool, String studentMajor, String studentSpecialty, Short studentHeight,
    Short studentWeight, String studentPhone, String studentQq, BigDecimal studentScore,
    String studentIntroduce, Short studentEntrust) {
    this.ssuiId = ssuiId;
    this.ysuId = ysuId;
    this.studentName = studentName;
    this.studentSex = studentSex;
    this.photoInfoUrl = photoInfoUrl;
    this.studentSchool = studentSchool;
    this.studentMajor = studentMajor;
    this.studentSpecialty = studentSpecialty;
    this.studentHeight = studentHeight;
    this.studentWeight = studentWeight;
    this.studentPhone = studentPhone;
    this.studentQq = studentQq;
    this.studentScore = studentScore;
    this.studentIntroduce = studentIntroduce;
    this.studentEntrust = studentEntrust;
    }

    public long getSsuiId() {
    return this.ssuiId;
    }

    public void setSsuiId(long ssuiId) {
    this.ssuiId = ssuiId;
    }

    public Long getYsuId() {
    return this.ysuId;
    }

    public void setYsuId(Long ysuId) {
    this.ysuId = ysuId;
    }

    public String getStudentName() {
    return this.studentName;
    }

    public void setStudentName(String studentName) {
    this.studentName = studentName;
    }

    public Short getStudentSex() {
    return this.studentSex;
    }

    public void setStudentSex(Short studentSex2) {
    this.studentSex = studentSex2;
    }

    public String getPhotoInfoUrl() {
    return this.photoInfoUrl;
    }

    public void setPhotoInfoUrl(String photoInfoUrl) {
    this.photoInfoUrl = photoInfoUrl;
    }

    public String getStudentSchool() {
    return this.studentSchool;
    }

    public void setStudentSchool(String studentSchool) {
    this.studentSchool = studentSchool;
    }

    public String getStudentMajor() {
    return this.studentMajor;
    }

    public void setStudentMajor(String studentMajor) {
    this.studentMajor = studentMajor;
    }

    public String getStudentSpecialty() {
    return this.studentSpecialty;
    }

    public void setStudentSpecialty(String studentSpecialty) {
    this.studentSpecialty = studentSpecialty;
    }

    public Short getStudentHeight() {
    return this.studentHeight;
    }

    public void setStudentHeight(Short studentHeight) {
    this.studentHeight = studentHeight;
    }

    public Short getStudentWeight() {
    return this.studentWeight;
    }

    public void setStudentWeight(Short studentWeight) {
    this.studentWeight = studentWeight;
    }

    public String getStudentPhone() {
    return this.studentPhone;
    }

    public void setStudentPhone(String studentPhone) {
    this.studentPhone = studentPhone;
    }

    public String getStudentQq() {
    return this.studentQq;
    }

    public void setStudentQq(String studentQq) {
    this.studentQq = studentQq;
    }

    public BigDecimal getStudentScore() {
    return this.studentScore;
    }

    public void setStudentScore(BigDecimal studentScore) {
    this.studentScore = studentScore;
    }

    public String getStudentIntroduce() {
    return this.studentIntroduce;
    }

    public void setStudentIntroduce(String studentIntroduce) {
    this.studentIntroduce = studentIntroduce;
    }

    public Short getStudentEntrust() {
    return this.studentEntrust;
    }

    public void setStudentEntrust(Short studentEntruts) {
    this.studentEntrust = studentEntruts;
    }

    public YSysUserinfo getUserInfo() {
    return userInfo;
    }

    public void setUserInfo(YSysUserinfo userInfo) {
    this.userInfo = userInfo;
    }

}

这是我的用户类,get和set方法就不列出了,太多
package com.ffour.yixing.entity;
// Generated 2017-2-16 15:45:33 by Hibernate Tools 4.0.0

import java.util.Date;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;

/**

  • YSysUserinfo generated by hbm2java */ public class YSysUserinfo implements java.io.Serializable { @SequenceGenerator(name = "Y_SYS_USERINFO$SEQ",sequenceName="Y_SYS_USERINFO$SEQ",allocationSize=1) @GeneratedValue(generator="Y_SYS_USERINFO$SEQ",strategy = GenerationType.SEQUENCE) @Id private long UId; private String UName; private String UPass; private Long UPower; private String UOther; private String UPhone; private String UMail; private Boolean activeState; private Byte member; private Date beginTime; private Date endTime; private SysStudentUserInfo students; }

这是我的学生实体类配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">






SYS_STUDENT_USER_INFO$SEQ

    <property name="studentName" type="string">
        <column name="STUDENT_NAME" length="50">
        </column>
    </property>
    <property name="studentSex" type="java.lang.Short">
        <column name="STUDENT_SEX" precision="1" scale="0">
        </column>
    </property>
    <property name="photoInfoUrl" type="string">
        <column name="PHOTO_INFO_URL" length="600">
        </column>
    </property>
    <property name="studentSchool" type="string">
        <column name="STUDENT_SCHOOL" length="100">
        </column>
    </property>
    <property name="studentMajor" type="string">
        <column name="STUDENT_MAJOR" length="50">
        </column>
    </property>
    <property name="studentSpecialty" type="string">
        <column name="STUDENT_SPECIALTY" length="500">
        </column>
    </property>
    <property name="studentHeight" type="java.lang.Short">
        <column name="STUDENT_HEIGHT" precision="3" scale="0">
        </column>
    </property>
    <property name="studentWeight" type="java.lang.Short">
        <column name="STUDENT_WEIGHT" precision="3" scale="0">
        </column>
    </property>
    <property name="studentPhone" type="string">
        <column name="STUDENT_PHONE" length="12">
        </column>
    </property>
    <property name="studentQq" type="string">
        <column name="STUDENT_QQ" length="12">
        </column>
    </property>
    <property name="studentScore" type="big_decimal">
        <column name="STUDENT_SCORE" precision="5">
        </column>
    </property>
    <property name="studentIntroduce" type="string">
        <column name="STUDENT_INTRODUCE" length="500">
        </column>
    </property>
    <property name="studentEntrust" type="java.lang.Short">
        <column name="STUDENT_ENTRUST" precision="2" scale="0">
        </column>
    </property>

    <many-to-one name="userInfo" class="com.ffour.yixing.entity.SysStudentUserInfo"
        column="YSU_ID" unique="true">
    </many-to-one>

</class>

这是用户实体类配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">






Y_SYS_USERINFO$SEQ









































    <one-to-one name="students" property-ref="userInfo" class="com.ffour.yixing.entity.SysStudentUserInfo" cascade="all"/>  
</class>

把你的错误信息贴上来才好看啊。

出错信息
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.ffour.yixing.entity.SysStudentUserInfo.userInfo
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:119)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:710)
at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:379)
at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:4522)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:186)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:137)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1112)
at org.hibernate.loader.Loader.processResultSet(Loader.java:969)
at org.hibernate.loader.Loader.doQuery(Loader.java:917)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:318)
at org.hibernate.loader.Loader.loadEntity(Loader.java:2145)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:161)
at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:2374)
at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:765)
at org.hibernate.type.EntityType.resolve(EntityType.java:505)
at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:168)
at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:137)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1112)
at org.hibernate.loader.Loader.processResultSet(Loader.java:969)
at org.hibernate.loader.Loader.doQuery(Loader.java:917)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
at org.hibernate.loader.Loader.doList(Loader.java:2550)
at org.hibernate.loader.Loader.doList(Loader.java:2536)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2366)
at org.hibernate.loader.Loader.list(Loader.java:2361)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:198)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1230)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
at com.ffour.yixing.dao.impl.BaseDaoImpl.findByHQL(BaseDaoImpl.java:77)
at com.ffour.yixing.service.impl.SysUserInfoImpl.selectUserInfoByName(SysUserInfoImpl.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy11.selectUserInfoByName(Unknown Source)
at com.ffour.yixing.action.YixingUserInfoLogin.login(YixingUserInfoLogin.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:871)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1537)
at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:96)
at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:88)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1613)
at ognl.ASTMethod.getValueBody(ASTMethod.java:91)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at ognl.SimpleNode.getValue(SimpleNode.java:258)
at ognl.Ognl.getValue(Ognl.java:467)
at ognl.Ognl.getValue(Ognl.java:431)
at com.opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:351)
at com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:403)
at com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:349)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:422)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:284)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:252)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:97)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:260)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:69)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:97)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:133)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:97)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:133)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:97)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:188)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:120)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:244)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:99)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:139)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:155)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:174)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:97)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:240)
at org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:556)
at org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:81)
at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)
... 139 more

补上用户实体类配置文件,上面的看不清
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">






Y_SYS_USERINFO$SEQ









































    <one-to-one name="students" property-ref="userInfo" class="com.ffour.yixing.entity.SysStudentUserInfo" cascade="all"/>  
</class>


补上用户实体类配置文件图片!,上面的看不清
图片说明
图片说明

Hibernate 一对一关系实例http://blog.csdn.net/ljheee/article/details/52593662