Comment créez-vous un EntityManager lorsque vous n'êtes pas sûr du nom de l'unité?
Je suis dans une situation où je dois déterminer l'EntityManager du nom de l'unité au moment de l'exécution.
Par exemple, j'aimerais faire quelque chose comme ceci:
@PersistenceContext(unitName = findAppropriateJdbcName())
EntityManager entityManager;
Cependant, ce n'est pas possible avec les annotations.
Est-il possible de créer un EntityManager lorsque vous n'êtes pas sûr de ce que le nom de l'unité jusqu'au moment de l'exécution?
OriginalL'auteur Brian DiCasa | 2010-11-27
Vous devez vous connecter pour publier un commentaire.
Il est possible de spécifier l'unité de persistance (PU) nom lors de l'exécution, mais c'est un paramètre utilisé dans la création de la
EntityManagerFactory
, pas une personneEntityManager
. Voir la Javadoc pour laPersistence
méthode de classecreateEntityManagerFactory()
. Exemple:Je le fais dans un non-application Java EE (Java 6 SE des appels dans un Tomcat web hébergée app) mais je ne suis pas sûr de savoir comment vous faites la même chose dans un container-managed d'application Java EE 6. Il est possible.
OriginalL'auteur Jim Tough
Ici, vous devez créer manuellement un entityManager sans l'aide d'annotations via JNDI pour pointer vers différents persistante de l'unité au moment de l'exécution.
OriginalL'auteur Nayan Wadekar