Til dette formål skal du konfigurere to persistensenheder, der peger på forskellige databaser i filen persistence.xml.
<persistence>
<persistence-unit name="oracleDB">
<jta-data-source>java:/OracleDB</jta-data-source>
...
</persistence-unit>
<persistence-unit name="ingresDB">
<jta-data-source>java:/ingresDB</jta-data-source>
...
</persistence-unit>
</persistence>
Persistenskontekst injiceres ved hjælp af annotering af beholderen for den givne persistensenhed.
@PersistenceContext(unitName="oracleDB")
private EntityManager oracleEntityManager;
@PersistenceContext(unitName="ingresDB")
private EntityManager ingresEntityManager;
Derefter kan du udføre operationer på databaser ved at bruge den respektive entityManager-instans.
Tabelnavn/struktur skal være den samme i begge databaser og undgå at bruge indbygget funktionalitet leveret af leverandører til portabilitet.