如何在初始化EMF并创建第一个EntityManager后,在运行时注册/取消注册新的实体类(带注释或ORM XML)。 我知道类似的问题,例如: Adding entity classes dynamically at runtime
动态水平的差异:我们使用可在运行时安装/卸载的OSGI插件,可以 contatais实体类用于自己的数据。
该功能已经使用JDO / DataNucleus实现,并且在生产中工作了大约3年。但JDO似乎已经死了(在Apache也是如此)。 DataNucleus的采用率相对较低,只有一个活跃的(和好的)开发人员(这很令人伤心,因为项目在很多方面非常有趣)。
如何使用流行的JPA实现做类似的事情?
答案 0 :(得分:0)
您无法将类添加到现有的EntityManagerFactory。你应该做的是每束创建一个持久性单元。因此,在更新捆绑包时,您将获得一个新的EntityManagerFactory作为服务。不幸的是,当前的Apache Aries jpa在更新包含持久性单元的bundle时存在已知问题。
我正在研究能够处理这个问题的Apache Aries jpa 2.0版本的代码。