Struts2 Hibernate PLugin
Я ищу плагин hibernate, который хорошо работает с struts2, где можно запрашивать данные с помощью hibernate (JPA) и отображать их в jsp без нарушения ситуации, такой как закрытый сеанс hibernate.
Я использую последние Struts2, Hibernate (JPA).
Лучше использовать Spring DAO или JPA из Hibernate? Я предпочитаю JPA.
Возможно ли использовать Full HIbernate Plugin с последними Struts2 и Hibernate?
Пожалуйста помоги.
Благодарю.
1 ответ
Чтобы выполнить эту задачу, вам не нужен полноценный спящий плагин. Вы хотите реализовать шаблон Open Session In View. По сути, идея состоит в том, чтобы реализовать фильтр сервлетов, который открывает сеанс гибернации, передает управление остальной части цепочки фильтров, а затем закрывает фильтр после завершения выполнения. Таким образом, у вашего представления есть открытый сеанс для игры, и в конце концов он закрывается. Тем не менее, следует отметить, что некоторые люди рассматривают это как анти-шаблон, поскольку он позволяет вашему коду представления запускать большое количество операций, связанных с базой данных, через ленивую загрузку и тому подобное. Это определенно что-то иметь в виду.
В Интернете есть несколько примеров, обычно под аббревиатурой OSIV, вот один из них, использующий прямой переход в спящий режим, который я написал для бывшего работодателя с открытым исходным кодом. Я думаю, что оригинальная версия этого была написана в 2007 году или около того и недавно перешла из SVN в GIT:
Домашняя страница их библиотеки с открытым исходным кодом, которая включает это здесь:
https://www.5amsolutions.com/how-we-do-it/5am-commons
Если вы хотите использовать полное решение JPA, Spring включает в себя Open Entity Manager в фильтре View:
Я не использовал этот конкретный класс, так как я не использовал Spring годами, но вещи Spring обычно работают очень хорошо.
Последняя ссылка на эту тему - несколько лет назад из спящих документов: https://community.jboss.org/wiki/OpenSessionInView