兄台用的是Hibernate 3吧,这个...
缺省模式下,返回的List是一个Poixy对象,就包含ID等一些信息,而不是bean对象本身,要到实际引用这个字段时,才会去读取数据。你在网页当中引用时,session已经关闭了,所以报这个错
你把class的lazy属性改成false试试,不行的话,把hibernate-mapping的lazy属性改成false,应该可以了吧

解决方案 »

  1.   

    把session的关闭放在jsp页面或者在filt[过滤器里管理session,包括打开session和关闭session]
      

  2.   

    yxhzj(余华[学习J2EE中]) 
    这么做可以,不过我觉得和软件分层的理念有所不符。session的管理应该是数据映射层的事情,我觉得不应该放到视图层面来控制
      

  3.   

    这个是的,如果根据分层来说,PO和session是不能直接在view层体现,但是,有的时候,还是可以这么做的,呵呵,理论和现实还是有点区别,如果你找到了更好的解决方案,那这个是不推荐使用的,不过在session的管理放在fiter里,倒是一个好的方法,在spring就是这么管理的,它有一个专门的过滤类,管理session。如果你没有使用spring,那也可以用这个思想,写个类,在fiter里管理类。好象也可以用Hibernate.initialize(E)来解决这个,不过没用过,呵呵!具体的请楼主才找找资料。
      

  4.   

    http://www.hibernate.org.cn/viewtopic.php?t=9816
      

  5.   

    还有一点要请教朋友们一下,就是关于hibernate的运行效率
    hibernate在从数据库中读取数据的时候,每读取一条记录,就实例化一个相应的类,如果一个表里面有数十万条记录,那就得实例化数十万个类文件,也就相当于在内存中分配了数十万个地址。我感觉hibernate的运行速度的确很慢,不知道朋友在使用的时候感觉运行效率如何???
      

  6.   

    我想问一下,朋友们在使用Hibernate的时候,对它的运行效率有什么看法?