0

我开始开发 OpenXava 应用程序来替换旧系统(使用 Firebird 数据库的 Delphi 程序),但新应用程序将使用 Postgres 作为数据存储。

我现在正在开发的应用程序需要对旧 Firebird 数据库中的 2 个表具有只读访问权限(因此不要对它们进行任何修改!),其他所有内容都将在新的 Postgres 数据库中(基本上,一个数据库中的 2 个实体和大约 4 个从另一个)。

最终一切都将转移到 Postgres,但是在集成发生时,我需要做这些事情。

有没有办法在 OpenXava 中做到这一点?任何有关如何解决此问题的建议将不胜感激。

4

1 回答 1

1

您可以针对旧数据库在 persistence.xml 中定义第二个持久性单元,然后当您需要访问旧数据库时,使用 JPA 语法而不是 XPersistence.getManager() 来获取针对旧数据库的管理器,因此:

EntityManagerFactory f = 
    Persistence.createEntityManagerFactory("firebird");
EntityManager manager = f.createEntityManager();  
manager.getTransaction().begin();  

// Your code

manager.getTransaction().commit();  
manager.close();  // You have to close
于 2015-09-07T11:47:54.583 回答