Да, я согласен с NimChimpsky и Qwerky использовать EJB3.x при доступе к БД и использовать один EM на единицу работы.

я естьEntityManagerFactory для которого я могу создать один (или несколько)EntityManager экземпляров. Я использую среду сервлета, и у меня есть один объект EntityManagerFactory, подключенный к сервлету (через контекст сервлета), который используется в течение всего срока службы сервлета (и, следовательно, для всех пользователей).

Я могу сделать одно из следующего:

Создайте один EntityManager для всего срока службы моего сервлета (например, для всех пользователей)Создайте по одному для каждого пользователя (чтобы каждый пользователь получал свое в HttpSession)Создайте один запрос HTTP (скажем, создав новый экземпляр и закрыв его в концеdoGet метод)

Что является наиболее подходящим? Значительна ли стоимость создания EntityManager? Если я делаю один общий EntityManager, существует ли единая область транзакции (т. Е. Обновления между независимыми пользователями могут фиксировать другие изменения)?

Ответы на вопрос(3)

Ваш ответ на вопрос