W tym celu skonfiguruj dwie jednostki trwałości wskazujące na różne bazy danych w pliku 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>
Kontekst trwałości jest wstrzykiwany przy użyciu adnotacji przez kontener dla danej jednostki trwałości.
@PersistenceContext(unitName="oracleDB")
private EntityManager oracleEntityManager;
@PersistenceContext(unitName="ingresDB")
private EntityManager ingresEntityManager;
Następnie możesz wykonywać operacje na bazach danych za pomocą odpowiedniej instancji entityManager.
Nazwa/struktura tabeli musi być taka sama w obu bazach danych i unikać używania natywnych funkcji zapewnianych przez dostawców w celu przenośności.