Шов - несколько единиц персистентности - PullRequest
0 голосов
/ 24 июня 2010

Поддерживает ли Seam несколько постоянных устройств в своей конфигурации?Кроме того, когда вы хотите иметь или нуждаетесь в нескольких единицах персистентности?

Я работаю над универсальным компонентом и сейчас он поддерживает только одну единицу персистентности, что имеет смысл для меня, поскольку я никогда не использовал больше1 единица сохраняемости на каждое веб-приложение.Итак, мне трудно понять, где вы будете использовать больше, чем одну единицу персистентности.

Спасибо,

Уолтер

Ответы [ 2 ]

1 голос
/ 24 июня 2010

Поддерживает ли Seam несколько постоянных устройств в своей конфигурации?

Я не понимаю, почему это не так. Сконфигурируйте несколько единиц персистентности и введите их по имени:

@PersistenceContext(unitName="UNITNAME")
private EntityManager em;

Кроме того, когда вы хотите иметь или нуждаетесь в нескольких единицах постоянства?

Если вам нужен доступ к нескольким источникам данных.

0 голосов
/ 05 августа 2010

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

@In
EntityManager entityManagerOne;

, где ваш EntityManager называется entityManagerOne (а другой entityManagerTwo).

Самая важная причинанесколько единиц персистентности - это требование для работы с несколькими системами баз данных.Это не относится к источнику данных, но проблема состоит в том, чтобы просто определить область для ваших сопоставлений сущностей.

Другая причина заключается в том, что вы выбираете стратегию транзакции (глобальную (JTA) или локальную (ресурс-локальную)) на единицу пропитанности.Таким образом, если вам нужно работать с несколькими стратегиями транзакций, вы можете создать 2 единицы постоянства для одной и той же базы данных.

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