hibernate延迟加载问题

用hibernate每次查询完是不是都要关闭session,可关闭session之后,延迟加载的数据就不能查出来了,请问该如何解决,谢谢了!

session关闭,生命周期就结束了。延迟加载如果设置lazy的话就要再发sql语句,而此时session已经关闭,查询数据库就会发session has closed 错误。可以使用spring openSessionInView Filter(或Interceptor )使session在整个请求范围内有效。

关与hibernate不是一两句话能讲清楚的,推荐你看一下这篇文章
http://blog.csdn.net/wxytx88/archive/2009/03/23/4016498.aspx

可以试一下OpenSessionInView,就是解决这个问题的