我正在使用 GlassFish 3.1.2.2(由于操作系统限制,我无法升级到 4)。
我有兴趣将 JPA 2.0 升级到 JPA 2.1 GlassFish 3.1.2.2。我怎样才能做到这一点?
我正在使用 GlassFish 3.1.2.2(由于操作系统限制,我无法升级到 4)。
我有兴趣将 JPA 2.0 升级到 JPA 2.1 GlassFish 3.1.2.2。我怎样才能做到这一点?
这很可能根本不可能。JPA 2.1 是 EE 7 的一部分,因此未与 EE 6 GF 3.1.2.2 完全集成。
您是否尝试仅替换 Glassfish 中的 EclipseLink 和 JPA jar 文件?
它可能会起作用,但如果您使用托管持久性单元,它们不会公开任何 JPA 2.1 API,您需要打开 EntiyManager 才能访问这些。
我正在使用 Hibernate 4.3.8(需要 JPA 2.1)和 Glassfish 3.1.2.2。
注意:我没有使用 glassfish 提供的任何服务。我使用的所有库都在 WEB-INF/lib 中。
1 -使用 JPA 2.1 版本覆盖所有 JPA 类(包javax.persistence
) 。glassfish/modules/javax.persistence.jar
你不应该替换整个 JAR,只覆盖类。这个 JAR 有一个 OSGI 清单和其他必须保留在那里的类。
2 - 删除所有 javassist 类(包javasssist
)glassfish/modules/weld-osgi-bundle.jar
。如果您使用 Hibernate,这解决了可能的不兼容问题。