Comment récupérer la source de données utilisée par une unité de persistance par programme

...sans vraiment de la lecture et de l'analyse de la persistence.xml

Je peux récupérer le nom de l'unité de persistance d'un EntityManager à l'aide de la caractéristiques de l'usine de. Je peux récupérer les sources de données disponibles à l'aide de la jboss en tant que contrôleur de client. Mais je n'ai trouvé aucune API qui pourrait me donner la source de données d'un particulier EntityManager.

Un String avec un nom allait être suffisant.

Merci

Je suis en train de travailler avec Hibernate 4.0.1.Finale sur JPA 2 sur JBoss 7.1.1.Final.

EDIT: et je voudrais éviter de s'écarter de JPA pour Hiberner Api si possible.

EDIT : Augusto de la solution a fonctionné, j'ai quelques notes sur des détails: Le casting de l'EM n'a pas fonctionné en raison d'une ClassCastException🙁org.jboss.as.jpa.container.TransactionScopedEntityManager cannot be cast to org.hibernate.ejb.EntityManagerImpl), mais il a travaillé pour l'extrait de l'usine. J'ai donc omis l'étape 1.

Je n'arrivais pas à trouver un moyen de récupérer le nom de la source de données de l'instance. J'ai donc dû me contenter de le nom de catalogue: connectionProvider.getConnection().getCatalog();

source d'informationauteur kostja