Тип расширенного персистентного контекста с JPA 2 и Hibernate - PullRequest
2 голосов
/ 10 января 2011

Я понимаю, что расширенный контекст персистентности длится продолжительность разговора или до тех пор, пока контейнер персистенции не закроет контекст персистентности, когда завершится метод @Remove объекта сессионного компонента с сохранением состояния (или экземпляр stateful session bean иначе будет уничтожен).

Теперь, очевидно, контекст персистентности также будет закрыт в JPA 2 / Hibernate, когда бин будет уничтожен, но есть ли следствие для @Remove в JPA 2 / Hibernate?

Кроме того, есть ли какие-либо подводные камни, о которых следует помнить при использовании расширенного контекста персистентности?

1 Ответ

2 голосов
/ 11 января 2011

JPA / Hibernate - это технологии персистентности.Они не обрабатывают управление сеансом (администратором сущностей).Они предоставляют менеджера сущностей и позволяют другим технологиям управлять им.

  • вручную - открывать и закрывать менеджеры сущностей
  • EJB3 - как вы упоминали
  • CDI, spring, guiceи т. д. структуры внедрения зависимостей.

PersistenceContextType.EXTENDED должна обрабатываться структурой, которая внедряет EntityManager, где присутствует @PersistenceContext.Это не может быть JPA / Hibernate в одиночку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...