EclipseLink、EntityManager 需要两个持久性单元

2024-01-18

我有一个 jar 库 A(或 eclipse 中的项目),它有自己的持久性单元(META-INF/persistence.xml)和一些实体类,以及使用该库的另一个项目(B)。在项目 B 中还有持久化单元和实体类。

在项目 B 中,我需要使用项目 A 和 B 中的两个实体类。但是,如果我将“A”设置为持久性单元名称,则 EntityManager 无法创建命名查询(如果此查询位于项目 B 的实体中)。如果我将“B”设置为持久性单位名称,它无法从项目 A 的实体创建命名查询。错误消息是:

NamedQuery of name: MyEntityName.myQueryName not found.

持久性单元可以以某种方式包含其他持久性单元吗?或者还有其他方法可以解决这个问题吗?


EclipseLink 2.3 推出复合持久性单元 http://wiki.eclipse.org/EclipseLink/Examples/JPA/Composite,它允许您创建一个持久性单元,该单元本质上仅充当两个或多个实际持久性单元的容器。然后,您就可以在应用程序中使用这一单一复合持久性单元,就好像您只有一个持久性单元一样。这应该可以满足您保持 persistence.xml 文件干净以便轻松将模型同步到数据库的目标。很酷的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EclipseLink、EntityManager 需要两个持久性单元 的相关文章

随机推荐