我开始开发OpenXava应用程序来替换旧系统(使用Firebird数据库的Delphi程序),但新应用程序将Postgres作为数据存储。
我正在开发的应用程序现在需要对来自旧Firebird数据库的2个表进行只读访问(因此无需修改它们!),其他所有内容都将在新的Postgres数据库中(基本上,来自一个数据库的2个实体)和另外4个人。)
最终所有内容都将转移到Postgres,但是当集成发生时,我需要做这样的事情。
有没有办法在OpenXava中执行此操作?任何关于如何解决这个问题的建议将不胜感激。
答案 0 :(得分:1)
您可以针对旧数据库在persistence.xml中定义第二个持久性单元,然后当您需要访问旧数据库时,使用JPA syntaxt而不是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