java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass

半世苍凉 提交于 2019-11-28 11:29:26

问题


I am new to JPA & hibernate, when I try this tutorial . I added the following provider in my persistence.xml,

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

and I am getting this error..

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)

Kindly help to resolve this error . Thank you


回答1:


It look like the Hibernate Annotation jar is wrong. It is not compatible with the jar version. So that is why it showing the "java.lang.NoSuchMethodError"

Could you please tell me the which jar version are you currently working , please specify the version ? Then only we have to easily address this.

Which Hibernate version are you currently working ?

Which Annotation version are you currently working ?

please specify the version. Thanks.




回答2:


Check your version of Hibernate, you need hibernate-core 3.6.0 or higher to use the method addAnnotatedClass of org.hibernate.cfg.Configuration




回答3:


In addition:

I've faced the same problem and I came to this page after googling for an answer and none of these answers helped me, so in case that somebody passes through the same problem:

I had an ArrayList<Entity> and when I wanted to add an item to the arraylist, the NoSuchMethodException encountered. The problem was that the ArrayList had to be an Array.




回答4:


Use the following dependencies...

<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>


来源:https://stackoverflow.com/questions/14958708/java-lang-nosuchmethoderror-org-hibernate-cfg-configuration-addannotatedclass

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!