2014-12-17 2 views
3

Использование GlassFish 4 трассировки стека выглядит следующим образомAbstractMethodError на entityManager.createQuery()

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 банки, которые от прибегая к помощи этой проблемы я собираю актуальны.

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 

Согласно другой вопрос, который я видел на этом же исключением зимуют JPA 2.0 должен работать с Hibernate версии> 3.5. Смутные воспоминания о математических классах говорят мне, что 4.2.15> 3.5, так что, по-видимому, у меня не должно быть этих проблем. Есть предположения?

+0

Когда вы видите эту ошибку? –

+0

Runtime, когда нажимается на entitymanager.createQuery(); –

ответ

1

В GlassFish 4 используется Java EE 7, поэтому вам следует использовать JPA 2.1 вместо JPA 2.0.

В соответствии с Hibernate Документов это люкс совместимости:

  • JPA 1.0: ОРМ 3.2+

  • JPA 2.0: ОРМ 3.5+

  • JPA 2.1: ОРМ 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> 
Смежные вопросы