2014-10-21 2 views
1

У меня есть следующая проблема: приложение развертывается успешно, но всякий раз, когда я пытаюсь выполнить запрос, он заканчивает так:Hibernate на Glassfish не сущность исключения

Caused by: java.lang.IllegalArgumentException: Not an entity: class javaeetutorial.addressbook.entity.Contact 

Так вот мои конфиги:

persistence.xml

<persistence-unit name="address-bookPU" transaction-type="JTA"> 

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
<jta-data-source>jdbc/PostgreSQLDataSource</jta-data-source> 

<class>javaeetutorial.addressbook.entity.Contact</class> 

<properties> 
    <property name="hibernate.archive.autodetection" value="class, hbm"/> 
    <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> 
    <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.SunOneJtaPlatform" /> 
    <property name="show_sql" value="true"/> 
</properties> 
</persistence-unit> 

класс объект помечается @ Объект конечно.

Может ли кто-нибудь помочь мне решить эту проблему?

+0

ли аннотированный с 'javax.persistence.Entity'? –

+0

Да, это так. Я понятия не имею, в чем проблема. – bnorbi

+0

Хорошо, понижение с версии спящего режима: 4.3.6. Окончание до 4.3.0. Final - это решение (?). Кто-нибудь понял, что может быть? – bnorbi

ответ

0

Я провел два дня и нашел следующее решение. 1. Используйте по крайней мере Hibernate 4.3.10:

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>4.3.10.Final</version> 
    </dependency> 

2. Изменить persistence.xml следующим образом (схема 2,1, поставщик <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>, два свойства - это MUST):

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
    <persistence-unit name="your_pu" transaction-type="JTA"> 
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
    <jta-data-source>jdbc/your_src</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes> 
    <properties> 
     <property name="hibernate.archive.autodetection" value="class, hbm, jar"/> 
     <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.SunOneJtaPlatform"/> 
    </properties> 
    </persistence-unit> 
</persistence> 
Смежные вопросы