Il est très bien possible d'avoir plusieurs unités de persistance dans JPA et à JPA avec Seam. En couture, c'est très facile. Créez simplement plus d'un élément <persistence-unit name="myapp" />
dans votre fichier persistence.xml et configurez une EntityManagerFactory pour chaque unité, et éventuellement un EntityManager pour chaque EntityManagerFactory. Vous pouvez ensuite injecter simplement une EntityManager de façon standard:
@In
EntityManager entityManagerOne;
où votre EntityManager est nommé entityManagerOne
(et l'autre entityManagerTwo
).
La raison la plus importante d'avoir plusieurs unités de persistance est la nécessité de travailler avec des systèmes de bases de données multiples. Cela n'est pas lié à une source de données, mais le problème consiste simplement à définir une étendue pour vos mappages d'entités.
Une autre raison est que vous choisissez une stratégie de transaction (globale (JTA) ou local (ressources locales)) par unité de persitence. Ainsi, si vous devez travailler avec plusieurs stratégies de transaction, vous pouvez créer 2 unités de persistance pour la même base de données.
Ok, je pensais plus le long des lignes d'avoir des gestionnaires d'identité multiples. Il semble que vous ne pouvez avoir qu'un seul magasin d'identité jpa. Vous pouvez probablement chausse plus dedans, mais je ne crois pas que la partie a été conçue pour plus d'un comme la configuration d'un expéditeur d'email ne supporte qu'une seule adresse. –
Je prends ça en arrière, vous pouvez en avoir plus de 1, mais ça devient vite moche. –