由于hibernate采用了lazy=true,这样当你用hibernate查询时,返回实际为利用cglib增强的代理类,但其并没有实际填充;当你在前端,利用它来取值(getXXX)时,这时Hibernate才会到数据库执行查询,并填充对象,但此时如果和这个代理类相关的session已关闭掉,就会产生种错误.
解决方法在对应的POJO的HBM中many-to-one处添加lazy= "false "就解决了
解决方法在对应的POJO的HBM中many-to-one处添加lazy= "false "就解决了
本文探讨了Hibernate使用lazy=true时可能遇到的问题,即查询时返回的是代理类而非实际对象,当试图获取对象属性时才触发数据库查询。若此时Session已关闭,则会引发错误。文章提供了解决方案:在相关配置文件中将many-to-one的lazy参数设置为false。
821

被折叠的 条评论
为什么被折叠?



