public class User
    {
        public string ID { get; set; }
        public string UserName { get; set; }
        public SysAccount SysAccount { get; set; }
    }
    public class SysAccount
    {
        public string ID { get; set; }
        public string AccountName { get; set; }
        public string PassWord { get; set; }
        public bool AccountState { get; set; }
     }如上所示,User和SysAccount是一对一的关系,User的配置为<one-to-one name="SysAccount" class="SysAccount" property-ref="User" cascade="all-delete-orphan"  fetch="join" lazy="false"/>SysAccount的配置为<many-to-one name="User" class="User" lazy="false" column="User_vc"  not-null="true" unique="true"/>User非延迟加载SysAccount,当查询获取所有UserList集合的时候,会对每一条User查找其SysAccount,太浪费了。
请问,我该如何调整才能避免这种情况呢?

解决方案 »

  1.   

    延迟加载在此时并不适用,因为我确实需要显示SysAccount的信息,当界面需要显示30条User和SysAccount的信息的时候,他就会去进行30次SysAccount得查询,而我想避免这种情况的话,又该如何处理?
      

  2.   

    如果你的页面需要显示2个对象的值 那你不管通过配置还是自己SQL关联查询 直接在分页时查出来就行了如果是点击详情之类的才查看 子类信息 还是用ajax去再查一次就行了
      

  3.   

    同意楼上的,直接sql查询出来