Очень хорошо иметь несколько единиц персистентности в JPA и в JPA с помощью Seam.В Seam это очень просто.Просто создайте более одного <persistence-unit name="myapp" />
элементов в вашем файле persistence.xml и настройте EntityManagerFactory для каждого модуля и, необязательно, EntityManager для каждого EntityManagerFactory.Затем вы можете просто ввести любой EntityManager стандартным способом:
@In
EntityManager entityManagerOne;
, где ваш EntityManager называется entityManagerOne
(а другой entityManagerTwo
).
Самая важная причинанесколько единиц персистентности - это требование для работы с несколькими системами баз данных.Это не относится к источнику данных, но проблема состоит в том, чтобы просто определить область для ваших сопоставлений сущностей.
Другая причина заключается в том, что вы выбираете стратегию транзакции (глобальную (JTA) или локальную (ресурс-локальную)) на единицу пропитанности.Таким образом, если вам нужно работать с несколькими стратегиями транзакций, вы можете создать 2 единицы постоянства для одной и той же базы данных.