在创建EntityManagerFactory之后注册JPA实体类

时间:2015-05-13 12:13:31

标签: entity-framework jpa osgi jdo datanucleus

如何在初始化EMF并创建第一个EntityManager后,在运行时注册/取消注册新的实体类(带注释或ORM XML)。 我知道类似的问题,例如: Adding entity classes dynamically at runtime

动态水平的差异:我们使用可在运行时安装/卸载的OSGI插件,可以 contatais实体类用于自己的数据。

该功能已经使用JDO / DataNucleus实现,并且在生产中工作了大约3年。但JDO似乎已经死了(在Apache也是如此)。 DataNucleus的采用率相对较低,只有一个活跃的(和好的)开发人员(这很令人伤心,因为项目在很多方面非常有趣)。

如何使用流行的JPA实现做类似的事情?

1 个答案:

答案 0 :(得分:0)

您无法将类添加到现有的EntityManagerFactory。你应该做的是每束创建一个持久性单元。因此,在更新捆绑包时,您将获得一个新的EntityManagerFactory作为服务。不幸的是,当前的Apache Aries jpa在更新包含持久性单元的bundle时存在已知问题。

我正在研究能够处理这个问题的Apache Aries jpa 2.0版本的代码。