Как я могу получить имя единицы сохраняемости EntityManager? - PullRequest
1 голос
/ 30 июня 2011

В приложении Java EE я использую @PersistenceContext на EJB3.0 SessionBean, чтобы позволить EntityManager быть автоматически подключенным.

Поскольку я использую несколько источников данных, я хочу программно определить имя проводного соединения PersistenceUnit EntityManager.Есть шанс?

1 Ответ

0 голосов
/ 20 января 2012

Вы можете получить более одного менеджера сущностей следующим образом:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("name your PU")
EntityManager em = emf.createEntityManager();
...
em.close();
emf.close();

Но я не знаю, хорошее ли решение. Аннотация @PersistenceContext позволяет получить только один менеджер сущностей. Но вы можете попробовать создать один bean-компонент класса / лица без состояния, который будет содержать более одного PU, и взять у него PU, который вам нужен. Может быть, это немного лучше, чем использовать EntityManagerFactory.

...