SSH错误2:LazyInitializationException异常延迟加载属性解决方案
使用Hibernate时,经常遇到LazyInitializationException异常,主要是在hibernate的session关闭后, 去调用设有延迟加载的属性,网上也是有很多解决的方案,其中Spring提供的一个方案就是在web.xml增加一个filter,示例代码如:
Xml代码
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上面是JPA的配置,使用hibernate配置差不多只是包名不一样罢了。
<!-- 使用spring解决Hibernate因Session、EntityManager对象关闭导致的延迟加载例外问题 -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessioninViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
原文地址:http://my.oschina.net/hjswust/blog/323368