是这样的,有两个对象 A,和B吧,A和B是一对多这样的,但是B又关联着其他对象,而且B里面也有很多属性,现在是,我查询A的时候也要获得B的一些(部分)属性的值,但是,我通过A来getB,则B的所有属性都会加载过来,很郁闷啊,能不能让B不去查不想加载的属性,谢谢了

解决方案 »

  1.   

    可以吧
    lazy=“ture”or“false”
      

  2.   

    不能 
    lazy=“ture”or“false”只是查A的时候就把B一起查了 还是查A的时候不查B ,用到B的时候再查
      

  3.   

    我也觉得利用hibernate中的延迟加载的问题可以解决 拿到代理对象 以后如果使用到B再去数据库中去相应的属性对B的代理对象进行填充,不过那样好像还是会取出全部属性,不过楼主可以通过持久类的get方法得到自己需要的属性就好了吧?
      

  4.   

      hibernate 好久没有用了。 
       要复习复习才行了。。
      
      

  5.   

    延迟加载是当你用到这个类的时候 他才会发出sql语句去查询相关的对象所以 还是会全部查询出来
      

  6.   

    可以仿照下面的hql:select a, b.name, b.amount from A a left join a.Bs b
      

  7.   

    这样好像在Query query = session.createQuery("select a, b.name, b.amount from A a left join a.Bs b")报错,请问这是为何?