Это експешины связаны с ленивой подгрузкой из базы зависимостей.
Суть проблемы состоит вот в чем: когда запрос приходит от браузера то его обработка проходит несколько фаз.
На фазе сервисов создается сессия энтити менеджера здесь происходят всякие транзакционные штуки и обращения в базу, после чего обычно сессия закрывается и запрос обрабатывается дальше.
Дальше идет обработка вьюшки и вот здесь происходит проблема - одна из вьюшек обращается с методу модели, который пытается сделать выборку из базы, а поскольку сессия уже закрыта мы и получает иксепшин.
Проблема решается вот таким веб-фильтром OpenEntityManagerInViewFilter, который обеспечивает жизнь сессии ЭнтитиМенеджера на все время обработки веб-запроса:
Суть проблемы состоит вот в чем: когда запрос приходит от браузера то его обработка проходит несколько фаз.
На фазе сервисов создается сессия энтити менеджера здесь происходят всякие транзакционные штуки и обращения в базу, после чего обычно сессия закрывается и запрос обрабатывается дальше.
Дальше идет обработка вьюшки и вот здесь происходит проблема - одна из вьюшек обращается с методу модели, который пытается сделать выборку из базы, а поскольку сессия уже закрыта мы и получает иксепшин.
Проблема решается вот таким веб-фильтром OpenEntityManagerInViewFilter, который обеспечивает жизнь сессии ЭнтитиМенеджера на все время обработки веб-запроса:
<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>
Комментариев нет:
Отправить комментарий