0

我是 ORM 和 JPA 的新手。我在 Ingres 中有一个名为 Table1 的表。我需要将 Table1 从 Ingres 复制到 Oracle。我已经成功连接到这两个数据库。是否可以只创建一个名为 Table1 的实体类,然后执行以下操作:从 Ingres 获取列表,其中包含 Table1 中的所有记录。将列表(全部,如果不是,则单独按集合元素)保存到 Oracle。

我会很感激你的建议和帮助。

谢谢,PK

4

1 回答 1

2

为此,在 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 实例对数据库执行操作。

两个数据库中的表名/结构必须相同,并且避免使用供应商提供的本机功能以实现可移植性。

于 2011-01-05T06:39:50.597 回答