使用GlassFish 4堆栈跟踪如下所示
Caused by: java.lang.AbstractMethodError
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:197)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createQuery(EntityManagerWrapper.java:455)
at com.wellpoint.mobility.aggregation.core.configuration.impl.ConfigurationManagerImpl.loadConfiguration(ConfigurationManagerImpl.java:262)
以下是hibernate jar,通过Google搜索我收集到的这个问题是相关的。
hibernate-commons-annotations-4.0.2.Final.jar
hibernate-core-4.2.15.Final.jar
hibernate-entitymanager.4.2.15.Final.jar
hibernate-jpa-2.0-api.1.0.1.Final.jar
根据我在同一个例外看到的另一个问题,hibernate JPA 2.0应该适用于hibernate版本> 3.5。数学课的模糊回忆告诉我4.2.15> 3.5,所以我不应该有这些问题。有什么想法吗?
答案 0 :(得分:1)
GlassFish 4使用Java EE 7,因此您应该使用JPA 2.1而不是JPA 2.0。
根据Hibernate文档,这是兼容性套件:
JPA 1.0:ORM 3.2 +
JPA 2.0:ORM 3.5 +
JPA 2.1:ORM 4.3 +
所以你应该将Hibernate 4.3与JPA 2.1一起使用:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.7.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>