sql >> Base de Datos >  >> RDS >> Oracle

Asignación de una clase de entidad a dos bases de datos diferentes (Oracle e Ingres)

Para ello, configure dos unidades de persistencia que apunten a diferentes bases de datos en el archivo 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>

El contexto de persistencia se inyecta utilizando la anotación del contenedor para la unidad de persistencia dada.

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

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

Luego puede realizar operaciones en las bases de datos utilizando la instancia respectiva del EntityManager.

El nombre/estructura de la tabla debe ser el mismo en ambas bases de datos y evitar el uso de la funcionalidad nativa proporcionada por los proveedores para la portabilidad.