sql >> Database >  >> RDS >> Oracle

Een entiteitsklasse toewijzen aan twee verschillende databases (Oracle en Ingres)

Configureer hiervoor twee persistentie-eenheden die verwijzen naar verschillende databases in het bestand 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>

Persistentiecontext wordt geïnjecteerd met behulp van annotatie door de container voor de gegeven persistentie-eenheid.

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

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

Vervolgens kunt u bewerkingen uitvoeren op databases met behulp van de respectievelijke instanceManager-instantie.

Tabelnaam/structuur moet hetzelfde zijn in beide databases en vermijd het gebruik van native functionaliteit die door leveranciers wordt geleverd voor overdraagbaarheid.




  1. MySQL IN TUSSEN zonder voorwaarde

  2. MijnSQL. Producten die in een periode niet zijn verkocht

  3. Oracle-schemagebruiker kan geen tabel maken in procedure

  4. Onjuiste DateTime-waarde '0000-00-00 00:00:00' - Date_Sub() in Having