SSH错误2:LazyInitializationException异常延迟加载属性解决方案web
使用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
<!-- 使用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>session