2014-10-06 2 views
2

Я реализую веб-приложение Vaadin, которое соединяется с базой данных (с помощью jpa hibernate). Приложение выглядит как java-swing, но в Интернете.JPA Entity Manager Lifecycle pattern в Vaadin

Я хотел бы узнать лучшие практики по управлению жизненным циклом менеджера объектов JPA.

В явном виде book of vaadin указывается, что вы используете EntityManager-per-Request.

Однако у меня есть seen others, защищающий использование сущности за сеанс и т. Д.

Мой вопрос: какова наилучшая практика и какие преимущества и недостатки каждого выбора?

ответ

2

EntityManager (EM) не следует «повторно использовать» в соответствии с лучшими практиками JPA. Нет дорогостоящих затрат на создание одного запроса.

Если вы используете один EM за сеанс, вам нужно обратить внимание, если вы удаляете каждый объект из контекста персистентности в конце каждого запроса. Если вы не удаляете объекты из контекста персистентности, EM будет занимать огромное количество бара.

Если у Vaadin есть автоматический способ обработать один EM за сеанс, используйте его. Если вам нужно его реализовать, я думаю, что лучший способ - это один EM для каждого запроса.

Смежные вопросы