sql >> Database teknologi >  >> RDS >> Oracle

Kortlægning af en enhedsklasse til to forskellige databaser (Oracle og Ingres)

Til dette formål skal du konfigurere to persistensenheder, der peger på forskellige 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>

Persistenskontekst injiceres ved hjælp af annotering af beholderen for den givne persistensenhed.

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

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

Derefter kan du udføre operationer på databaser ved at bruge den respektive entityManager-instans.

Tabelnavn/struktur skal være den samme i begge databaser og undgå at bruge indbygget funktionalitet leveret af leverandører til portabilitet.




  1. Metoden getColumnName i ResultSetMeta kan ikke returnere højre kolonnenavn (jdbc)

  2. Sådan opdaterer du flere poster ved hjælp af peewee

  3. Java mySQL med 000webhost

  4. Sporing af udgående forbindelser