... без фактического чтения и анализа persistence.xml
Я могу получить имя единицы сохранения в EntityManager
с помощью свойств этого factory. Я могу получить доступные источники данных с помощью jboss-as-controller-client. Но я не нашел API, который бы дал мне источник данных для конкретного EntityManager
.
A String
с именем будет достаточно.
Спасибо
Я работаю с Hibernate 4.0.1.Final над JPA 2 на JBoss 7.1.1.Final.
EDIT: и я хотел бы избежать отклонения от JPA до API Hibernate, если это возможно.
EDIT: решение Augusto работало, у меня есть некоторые примечания по деталям: литье EM не работает из-за ClassCastException
: (org.jboss.as.jpa.container.TransactionScopedEntityManager cannot be cast to org.hibernate.ejb.EntityManagerImpl
), но оно работало для извлеченного factory. Поэтому я опустил шаг 1.
Я также не смог найти способ получить имя источника данных из экземпляра. Поэтому мне пришлось довольствоваться именем каталога: connectionProvider.getConnection().getCatalog();