Jakarta ee 是否可以为EJB jar定义默认的持久性上下文引用?

Jakarta ee 是否可以为EJB jar定义默认的持久性上下文引用?,jakarta-ee,persistence,ejb,ear,Jakarta Ee,Persistence,Ejb,Ear,我有一个EAR项目,我在其中定义了 一个persistence JAR,只包含我想要持久化的实体和persistence.xml 包含活动组件的EJB Jar 在使用maven插件构建的EAR中部署这些组件时,我总是得到 org.glassfish.deployment.common.DeploymentException:无法解析与名为[ear-0.0.1-SnapshotEJB-0.0.1-SNAPSHOT.jar]的模块范围内的持久性上下文引用名称[base entities]对应的持久性

我有一个EAR项目,我在其中定义了

一个persistence JAR,只包含我想要持久化的实体和persistence.xml 包含活动组件的EJB Jar 在使用maven插件构建的EAR中部署这些组件时,我总是得到

org.glassfish.deployment.common.DeploymentException:无法解析与名为[ear-0.0.1-SnapshotEJB-0.0.1-SNAPSHOT.jar]的模块范围内的持久性上下文引用名称[base entities]对应的持久性单元。请验证您的申请


我怎样才能解决这个问题?我首先考虑在EJB-jar.xml中为整个EJB-jar定义一个持久性上下文引用,但这似乎是不可能的。那么,我是否应该编写一个与第一个链接的secondary persistence.xml呢?

这个问题最简单的解决方案是在EJB jar中放入一个persistence.xml来复制初始的persistence.xml。事实上,据我所知,EAR将从EJB模块而不是从JAR加载持久性元素。因此,必须由EJB模块定义persistence.xml配置文件。

persistence context ref是否具有持久性单元名称?为整个EJBJAR定义一个持久性上下文引用有什么帮助?例如,在EE6应用服务器中使用java:module?@bkail您能进一步解释您的观点吗?我对persistence.xml包含的这些方面没有信心。相应的应具有一个pu。javaee_6.xsd表示,一个可选的持久性单元名称。如果未指定,则假定默认的持久性单位。我不是JPA专家,所以我不知道如何指定默认的持久性单元。