Oracle
 sql >> база данни >  >> RDS >> Oracle

Съпоставяне на един клас Entity към две различни бази данни (Oracle и Ingres)

За тази цел конфигурирайте две единици за устойчивост, сочещи към различни бази данни във файла 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>

Контекстът на постоянство се инжектира с помощта на анотация от контейнера за дадената единица за постоянство.

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

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

След това можете да извършите операция върху бази данни, като използвате съответния екземпляр на entityManager.

Името/структурата на таблицата трябва да е едно и също и в двете бази данни и избягвайте използването на естествена функционалност, предоставена от доставчиците за преносимост.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Смесване заедно Connect by, вътрешно съединение и сумиране с Oracle

  2. Накарайте скрипта SQL*Plus да излезе

  3. Oracle PL/SQL Trigger да се изпълнява само ако промените са направени в данните след 9-5 часа

  4. SQL вътрешно присъединяване при избрани изрази

  5. Какъв е еквивалентът на REF CURSOR на Oracle в MySQL, когато използвате JDBC?