У меня проблема с Hibernate и отложенной загрузкой.
Справочная информация: у меня есть веб-приложение Spring MVC, я использую Hibernate для своего слоя персистентности.Я использую OpenSessionInViewFilter, чтобы позволить мне лениво загружать объекты в моем слое представления.И я расширяю классы HibernateDaoSupport и использую HibernateTemplate для сохранения / загрузки объектов.Все работало довольно хорошо.До сих пор.
Проблема: у меня есть задача, которую можно запустить с помощью веб-запроса.Когда запрос направляется на контроллер, контроллер создаст новый Runnable для этой задачи и запустит поток для запуска задачи.Таким образом, оригинальный поток вернется, и сеанс Hibernate, который был помещен в ThreadLocal (OpenSessionInViewFilter), не будет доступен новому потоку для Задачи.Поэтому, когда задача выполняет какие-то действия с базой данных, я получаю печально известную исключительную ситуацию LazyInitializationException.
Может ли кто-нибудь предложить лучший способ сделать сеанс Hibernate доступным для задачи?
Спасибо за чтение.