我是JPA& hibernate,当我尝试这个tutorial时。 我在persistence.xml中添加了以下提供程序,
<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)
请帮助解决此错误。 谢谢
答案 0 :(得分:4)
检查您的Hibernate版本,需要hibernate-core 3.6.0或更高版本才能使用addAnnotatedClass
的方法org.hibernate.cfg.Configuration
答案 1 :(得分:3)
看起来Hibernate Annotation jar是错误的。它与jar版本不兼容。这就是它显示"java.lang.NoSuchMethodError"
您能否告诉我您目前使用哪个jar版本,请注明版本? 那么只有我们必须轻松解决这个问题。
您目前正在使用哪种Hibernate版本?
您目前正在使用哪种注释版本?
请注明版本。 感谢。
答案 2 :(得分:1)
另外:
我遇到了同样的问题,我在google搜索答案后来到这个页面,这些答案都没有帮助我,所以如果有人经历了同样的问题:
我有一个ArrayList<Entity>
,当我想在arraylist中添加一个项目时,会遇到NoSuchMethodException。问题是ArrayList
必须是Array
。
答案 3 :(得分: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>