Konfigurieren Sie zu diesem Zweck in der Datei persistence.xml zwei Persistenzeinheiten, die auf unterschiedliche Datenbanken verweisen.
<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>
Persistenzkontext wird unter Verwendung von Anmerkungen durch den Container für die angegebene Persistenzeinheit eingefügt.
@PersistenceContext(unitName="oracleDB")
private EntityManager oracleEntityManager;
@PersistenceContext(unitName="ingresDB")
private EntityManager ingresEntityManager;
Dann können Sie Operationen an Datenbanken durchführen, indem Sie die entsprechende entityManager-Instanz verwenden.
Tabellenname/-struktur muss in beiden Datenbanken gleich sein und vermeiden Sie die Verwendung nativer Funktionen, die von Anbietern für die Portabilität bereitgestellt werden.