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