原文:https://blog.csdn.net/u010167086/article/details/17029831
解决方法:
1、把lazy设成false。这个是最简单的办法,也是比较笨的方法。因为这是在用效率作为代价。
2、将hibernate的抓起策略改为join。也就是是left join fetch或inner join fetch语法。就是在<many-to-one…/>中配置lazy=“false” fetch="join"即可。
3、使用OpenSessionInViewFilter。这种方法是将session交给servlet filter来管理,每当一个请求来之后就会开启一个session,只有当响应结束后才会关闭。其中filter-class 属性中的 “hibernate4” 因对应好自己的 hibernate 版本如下:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>