创建EntityManagerFactory后注册JPA实体类 [英] Register JPA entity class after EntityManagerFactory are created

查看:21
本文介绍了创建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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆