是否可以为 EJB jar 定义默认的 persistence-context-ref ?
我有一个 EAR 项目,其中定义了
- 一个“持久性”JAR,仅包含我想要持久保存的实体(以及 persistence.xml)
- 一个包含活动组件的 EJB Jar
在 EAR 中部署这些组件时(使用 maven 插件构建),我总是得到
org.glassfish.deployment.common.DeploymentException:无法解析与名为 [ear-0.0.1 的模块范围内的 persistence-context-ref-name [base-entities] 相对应的持久性单元-SNAPSHOT#ejbs-0.0.1-SNAPSHOT.jar]。请验证您的申请。
我该如何解决这个问题?我首先考虑为整个 EJB jar(在 ejb-jar.xml 中)定义一个persistence-context-ref
,但这似乎不可能。那么,我应该编写一个链接到第一个的辅助 persistence.xml
吗?
I have an EAR project in which I defined
- a "persistance" JAR containing only the entities I want to persist (and a persistence.xml)
- an EJB Jar containing the active components
When deploying those components in an EAR (built using maven plugins), I always get
org.glassfish.deployment.common.DeploymentException: Could not resolve a persistence unit corresponding to the persistence-context-ref-name [base-entities] in the scope of the module called [ear-0.0.1-SNAPSHOT#ejbs-0.0.1-SNAPSHOT.jar]. Please verify your application.
How can I fix that ? I first thought about defining a persistence-context-ref
for the whole EJB jar (in ejb-jar.xml), but it doesn't seem to be possible. So, should i write a secondary persistence.xml
linking to the first ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尽管看起来很愚蠢(事后),该问题的最简单解决方案是在 EJB jar 中放入一个 persistence.xml 来复制初始的。事实上,据我了解,EAR 将从 EJB 模块(而不是从 JAR)加载持久性元素。因此,EJB 模块必须定义 persistence.xml 配置文件。
As dumb as it seems (afterwards) the simplest solution to that problem is to put in the EJB jar a persistence.xml that copies the initial one. Indeed, from what I understand, the EAR will load persistence elements from the EJB module (and not from the JAR). As a consequence, it is the EJB module that must define the persistence.xml configuration file.