繁体   English   中英

我可以使用使用相同“实体类”的JPA写入不同的码头数据库吗?

[英]Can I write to different jetty databases using JPA that is using the same “entity class”

我正在使用Java持久性,并使用EntityManager类,并已将其分配给存储应写入数据库的类对象。 我的问题是我想使用相同的存储类写入不同的数据库。 我的解决方案是编写一个StorageManagerfactory,该工厂的Map包含所有EntityManager。 直到我查看数据库并意识到所有信息(与Map无关,它获取正确的值)都被写入相同的数据库(Map中初始化的一个)之后,该解决方案才看起来不错。

所以我的问题是:我可以使用使用相同存储类(保存数据库结构的类)的JPA写入不同的数据库吗?

谢谢

是的,在persistence.xml定义多个持久性单元。 然后,在注入@PersistenceContext时,请指定unitName属性。

我的解决方案是编写一个StorageManagerfactory,该工厂的Map包含所有EntityManager。

我认为EntityManagerMap不是一个好主意。

但是,应该可以使用Persistence.createEntityManagerFactory(String, Map创建指向N个数据库的N个EntityManagerFactory (提到的工厂方法允许传递其他属性,这些属性覆盖在其他地方配置的值,例如连接url)。以及Map这些EntityManagerFactory

然后,只需从Map获取“正确的” EntityManagerFactory (使用所需的任意键)并获取EntityManager

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM