HDao dao=new EmployeeDao();
Query q=dao.session().createQuery("from Employee");
List<Employee> l=q.list();
dao.session().close();<one-to-one name="workContract" class="com.hrm.entity.WorkContract" cascade="save-update"/>
<id name="id" type="string">
            <column name="id" length="33"/>
            <generator class="foreign">
             <param name="property">employee</param>
            </generator>
        </id>
        <one-to-one name="employee" class="com.hrm.entity.Employee" constrained="true"/>Hibernate: select employee0_.id as id19_, employee0_.name as name19_, employee0_.birth as birth19_, employee0_.gender as gender19_, employee0_.nation as nation19_, employee0_.IdCard as IdCard19_, employee0_.marrage as marrage19_, employee0_.status as status19_, employee0_.creator as creator19_, employee0_.createdate as createdate19_, employee0_.modifier as modifier19_, employee0_.modifydate as modifydate19_, employee0_.workid as workid19_ from dbhrm.dbo.Employee employee0_
Hibernate: select workcontra0_.id as id22_0_, workcontra0_.name as name22_0_, workcontra0_.status as status22_0_, workcontra0_.positionType as position4_22_0_, workcontra0_.position as position22_0_, workcontra0_.trialStartDate as trialSta6_22_0_, workcontra0_.trialDuration as trialDur7_22_0_, workcontra0_.salary as salary22_0_, workcontra0_.trialSalary as trialSal9_22_0_, workcontra0_.validStart as validStart22_0_, workcontra0_.validBefore as validBe11_22_0_, workcontra0_.note as note22_0_, workcontra0_.creator as creator22_0_, workcontra0_.modifier as modifier22_0_ from dbhrm.dbo.workContract workcontra0_ where workcontra0_.id=?
Hibernate: select employeeco0_.id as id17_0_, employeeco0_.address as address17_0_, employeeco0_.zipcode as zipcode17_0_, employeeco0_.mobile as mobile17_0_, employeeco0_.email as email17_0_, employeeco0_.im as im17_0_, employeeco0_.homepage as homepage17_0_, employeeco0_.phone as phone17_0_ from dbhrm.dbo.EmployeeContact employeeco0_ where employeeco0_.id=?
Hibernate: select employeepo0_.id as id12_0_, employeepo0_.companyId as companyId12_0_, employeepo0_.department as department12_0_, employeepo0_.position as position12_0_, employeepo0_.level as level12_0_, employeepo0_.post as post12_0_, employeepo0_.certificate as certific7_12_0_, employeepo0_.trialStart as trialStart12_0_, employeepo0_.workStart as workStart12_0_ from dbhrm.dbo.EmployeePosition employeepo0_ where employeepo0_.id=?我没有去拿workContract,为什么系统会自动帮我查询workContract?我的配置里面还有其他的类是配置成1对1,但是都没去拿,只拿了这个,很奇怪。
数据库里面只有一条数据。

解决方案 »

  1.   

    应该是cascade="save-update"问题吧
      

  2.   

    发现,如果使用的是Criteria,就很正常,不会去拿workContract.
      

  3.   

    我觉得也是cascade="save-update"问题
      

  4.   

    很奇怪诶~~~~   我感觉也是cascade="save-update"问题   测试一下
      

  5.   


    我尝试删除,还是这个问题,但是使用criteria就没这个问题。。
      

  6.   

    可能是:
       constrained属性设置有问题吧。。你试试设为false 或none 来看看!