【问题标题】:Has anybody (successfully) used Openjpa with Glassfish 4 yet?有没有人(成功地)将 Openjpa 与 Glassfish 4 一起使用?
【发布时间】:2013-10-24 06:11:05
【问题描述】:

我们目前正在使用带有 Glassfish 3 的 openjpa 2.2.1。由于无论如何我们都必须对基础架构进行更改,因此我们正在考虑升级到 Glassfish 4。不幸的是,我无法让 OpenJpa 使用它。每当我尝试访问实体时,我都会得到 AbstractMethodErrors

Caused by: java.lang.AbstractMethodError: org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Ljavax/persistence/EntityManager;

(也就是说,如果我在构建时使用 openjpa-maven-plugin 增强分类)。如果我使用动态增强,我什至无法部署应用程序。

如果我将持久性提供程序切换到 EclipseLink,它似乎工作正常。不幸的是,因为我们使用了一些 OpenJPA 功能,所以更改持久性提供程序并不是一个真正的选择。

我也尝试了 OpenJpa 2.2.2,结果相同。在 Glassfish 3 上,同样的事情运行得很好。

【问题讨论】:

  • 自 10 月以来,您在这方面有什么进展吗?我遇到了同样的错误。
  • 不,我们仍然陷入困境。如以下答案所述:OpenJPA 尚未实现 GF4 中必需的 JPA 2.1。不幸的是,OpenJPA 中似乎没有对 JPA 2.1 的 ETA 支持。

标签: java jakarta-ee openjpa glassfish-4


【解决方案1】:

鉴于发布的错误,Glassfish 4 似乎假设使用 JPA 2.1 提供程序(由于在创建 EM 时使用了 SynchronizationType 参数)。 OpenJPA 还不支持 JPA 2.1 规范。

您需要从 Glassfish 4 中禁用或删除 JPA 2.1 API,以便可以使用 JPA 2.0 API(与 OpenJPA 一起打包)。我不确定使用 Glassfish 禁用此功能是否容易或可行。

这个问题刚刚创建为 OpenJPA 的 JIRA,并引用了这个 stackoverflow 帖子: https://issues.apache.org/jira/browse/OPENJPA-2471

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多