1

Я новичок в JPA & hibernate, когда я пробую это tutorial. я добавил следующий провайдер в моем persistence.xml,java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass

<provider>org.hibernate.ejb.HibernatePersistence</provider> 

, и я получаю эту ошибку ..

log4j:WARN No appenders could be found for logger (org.jboss.logging). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration; 
    at org.hibernate.ejb.Ejb3Configuration.addAnnotatedClass(Ejb3Configuration.java:1421) 
    at org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1391) 
    at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:1184) 
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:1048) 
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:291) 
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:373) 
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32) 
    at de.vogella.jpa.simple.main.Main.main(Main.java:17) 

Пожалуйста, помогите решить эту ошибку. Спасибо

ответ

3

Похоже, что баночка Hibernate Annotation ошибочна. Он несовместим с версией jar. Вот почему он показывает "java.lang.NoSuchMethodError"

Не могли бы вы рассказать мне, какую версию jar вы сейчас работаете, пожалуйста, укажите версию? Тогда только мы должны легко решить эту проблему.

В какой версии Hibernate вы в настоящее время работаете?

Эта версия аннотации вы используете?

, пожалуйста, укажите версию. Спасибо.

+0

org.hibernate гибернация-жильного 4.2.0.CR1 \t \t \t орг. спящий режим \t Hibernate-Обще-аннотаций \t 3.2.0.Final Bhushan

+0

спасибо за ответ .. вот некоторая зависимость я использовал, org.hibernate зимуют-жильный 4.2.0.CR1 \t \t \t org.hibernate \t Hibernate-Викисклада аннотаций \t 3.2.0.Final Bhushan

+0

ожидания я проверю и дам вам знать, что. –

3

Проверьте версию Hibernate, вам нужно зимуют-ядро 3.6.0 или выше, чтобы использовать метод addAnnotatedClass из org.hibernate.cfg.Configuration

+0

спасибо, проблема решена ... – Bhushan

1

Дополнительно:

Я столкнулся с той же проблемой, и я пришел к этому страница после поиска в Google для ответа, и ни один из этих ответов не помог мне, поэтому в случае, если кто-то проходит через ту же проблему:

У меня был ArrayList<Entity>, и когда я захотел добавить элемент в arraylist, возникло исключение NoSuchMethodException. Проблема заключалась в том, что ArrayList должен был быть Array.

1

Используйте следующую зависимость ...

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>4.3.6.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>3.6.4.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-annotations</artifactId> 
    <version>3.5.5-Final</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate.common</groupId> 
    <artifactId>hibernate-commons-annotations</artifactId> 
    <version>4.0.4.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.7</version> 
</dependency> 
Смежные вопросы