创建EntityManagerFactory后注册JPA实体类 [英] Register JPA entity class after EntityManagerFactory are created
本文介绍了创建EntityManagerFactory后注册JPA实体类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在初始化EMF并创建第一个EntityManager之后,如何在运行时注册/注销新实体类(使用注释或ORM XML)。 我知道类似的问题,例如: Adding entity classes dynamically at runtime
动态级别的差异:我们使用可以在运行时安装/卸载的OSGI插件,而可以将实体类用于自己的数据。
该功能已经使用JDO/DataNucleus实现,并在生产中工作了大约3年。但是JDO似乎已经死了(在阿帕奇也是如此)。DataNucleus的采用率相对较低,而且只有一个活跃的(且优秀的)开发人员(这很令人遗憾,因为项目在很多方面都非常有趣)。
如何做一些与流行的JPA实现类似的事情?
推荐答案
无法将类添加到现有的EntityManagerFactory。您应该做的是为每个包创建一个持久化单元。因此,在更新包时,您将获得一个新的EntityManagerFactory作为服务。不幸的是,当前的Apache Aries JPA在更新包含持久性单元的捆绑包时存在一个已知问题。
我正在为能够处理此问题的Apache Aries JPA 2.0版本编写代码。
这篇关于创建EntityManagerFactory后注册JPA实体类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文