sql >> Databasteknik >  >> RDS >> Oracle

Mappa en Entity-klass till två olika databaser (Oracle och Ingres)

För detta ändamål, konfigurera två persistensenheter som pekar på olika 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>

Persistenskontext injiceras med hjälp av annotering av behållaren för den givna persistensenheten.

   @PersistenceContext(unitName="oracleDB")
   private EntityManager oracleEntityManager;

   @PersistenceContext(unitName="ingresDB")
   private EntityManager ingresEntityManager;

Sedan kan du utföra operationer på databaser genom att använda respektive entityManager-instans.

Tabellnamn/struktur måste vara samma i båda databaserna och undvika att använda inbyggd funktionalitet som tillhandahålls av leverantörer för portabilitet.




  1. Är förberedda uttalanden cachade på serversidan över flera sidladdningar med PHP?

  2. Vill du utesluta radresultat som har NULL-värde i något fält?

  3. LOBBEHÅLLNING

  4. Kör prestanda i en hybridmolninstallation