是否可以为 EJB jar 定义默认的 persistence-context-ref ?

发布于 2024-11-28 19:19:05 字数 541 浏览 1 评论 0原文

我有一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假装不在乎 2024-12-05 19:19:05

尽管看起来很愚蠢(事后),该问题的最简单解决方案是在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文