Підключення Hibernate до Spring аплікації через Open Session in View

Для того щоб в аплікації працювало ліниве завантаження (lazy loading) у Hibernate необхідно налаштувати шаблон Open Session in View. Для цього потрібно добавити наступний код до web.xml:

<web-app>  

 <context-param>  
 <param-name>contextConfigLocation</param-name>  
 <param-value>  
 classpath:/com/applicationContext-hibernate.xml,  
 classpath:/com/applicationContext.xml  
 </param-value>  
 </context-param>  

 <!-- Spring Open Session In View фільтр -->  
 <filter>  
 <filter-name>hibernateFilter</filter-name>  
 <filter-class>  
 org.springframework.orm.hibernate.support.OpenSessionInViewFilter  
 </filter-class>  
 </filter>  

 <!-- Мапування фільтра на URL -->  
 <filter-mapping>  
 <filter-name>hibernateFilter</filter-name>  
 <url-pattern>/app/*</url-pattern>  
 </filter-mapping>  

 <!-- Загрузчик Spring -->  
 <listener>  
 <listener-class>  
 org.springframework.web.context.ContextLoaderListener  
 </listener-class>  
 </listener>  
 </web-app>

При такій конфігурації Hibernate сесія буде відкриватись при початку запиту та закриватись при завершенні його обробки.

© 2009 - 2020, Розробка - соціальна ІТ спільнота.
Контакти: info@rozrobka.com
Правила користування