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://fisheye.5amsolutions.com/browse/5AMCOM/core/src/main/java/com/fiveamsolutions/commons/web/filter/OpenSessionInViewFilter.java?r=78fe9215dcbdea11ed54e7446bf19f779cb13770

Домашняя страница их библиотеки с открытым исходным кодом, которая включает это здесь:

https://www.5amsolutions.com/how-we-do-it/5am-commons

Если вы хотите использовать полное решение JPA, Spring включает в себя Open Entity Manager в фильтре View:

http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/orm/jpa/support/OpenEntityManagerInViewFilter.html

Я не использовал этот конкретный класс, так как я не использовал Spring годами, но вещи Spring обычно работают очень хорошо.

Последняя ссылка на эту тему - несколько лет назад из спящих документов: https://community.jboss.org/wiki/OpenSessionInView

Другие вопросы по тегам