How to find a way to get the DataSource object from the EntityManager in Hibernate
Issue
- We don't have a custom mapping capability in the JPA specification.
- We need help to build a Spring JdbcTemplate object when only have a reference to the entity manager.
-
In other words, if we have a reference to an EntityManager for my persistence unit, how to get the data source (even use JBoss specific APIs) so that we can create a JdbcTemplate object.
-
In otherwords imagine:
EntityManager em = ...
JdbcTemplate springTempalte = new JdbcTemplate( em.getDatasource() );
- We would be able to use the spring template.
- The problem is that we cannot find a way to get to the data source from the entity manager.
- We don't want to reference the data source directly, since there can be multiple persistence units linked to different data-sources and we want that configuration all in one place.
- What API calls (even JBoss specific) can we make to get the data source used in a given EntityManager in JBoss EAP 6.3.
- We need to know how to get to the data-source, but lets know what
SqlResultSetMappingis and whether we can have a custom implementation that does the mapping instead of using the annotation class? - Can please provide us JBoss specific or Hibernate APIs that help us go from the JBoss EntityManager implementation to the underlying data source ?
- We are okay to cast that object to a JBoss specific or hibernate specific implementation that we can guarantee exists in EAP 6.4+.
Environment
- Red Hat JBoss Enterprise Application Platform(EAP)
- 6.3.3
- Hibernate/JPA
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
