关于s2sh框架关于hibernate懒加载问题的说明和解决方案
首先我们来看下面这个图,解释了一个web程序的一次请求流程!
懒加载异常的说明:
懒加载就是我们在查询一个对象时,它所有的属性是否要被查出来!
如果懒加载开启的话,session在service层就被关闭了,而我们的view如果不需要他的属性的话,那就不会出现懒加载异常,如果需要属性,这时候session已经关闭了所以就会出现懒加载异常,这个时候我们就考虑能否把session放到请求完成之后再进行关闭。
解决:
答案当然是可以,那就是使用过滤器,在请求结束之后将session关闭,在web.xml里面配置上以下配置即可:(注意放到struts过滤器之前)
1 <!-- 配置spring关于hibernate懒加载的问题 --> 2 <filter> 3 <filter-name>OpenSessionInViewFilter</filter-name> 4 <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 5 </filter> 6 <filter-mapping> 7 <filter-name>OpenSessionInViewFilter</filter-name> 8 <url-pattern>*.action</url-pattern> 9 </filter-mapping>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。