LazyInitializationException

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

相關文章
相關標籤/搜索