A tale scopo, configura due unità di persistenza che puntano a database diversi nel file 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>
Il contesto di persistenza viene iniettato utilizzando l'annotazione dal contenitore per l'unità di persistenza specificata.
@PersistenceContext(unitName="oracleDB")
private EntityManager oracleEntityManager;
@PersistenceContext(unitName="ingresDB")
private EntityManager ingresEntityManager;
Quindi puoi eseguire operazioni sui database utilizzando la rispettiva istanza entityManager.
Il nome/struttura della tabella deve essere la stessa in entrambi i database ed evitare di utilizzare la funzionalità nativa fornita dai fornitori per la portabilità.