1

我是新來JPA &休眠,當我試試這個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是錯誤的。它與jar版本不兼容。所以這就是爲什麼它顯示"java.lang.NoSuchMethodError"

你能告訴我你目前正在工作的jar版本,請指定版本? 那麼只有我們必須輕鬆解決這個問題。

您目前正在使用哪種Hibernate版本?

您目前正在使用哪個註釋版本?

請指定版本。 謝謝。

+0

org.hibernate作爲 休眠核心 4.2.0.CR1 \t \t \t 組織。休眠 \t 休眠公地的註解 \t 3.2.0.Final Bhushan 2013-02-19 14:06:22

+0

感謝您的回覆..這裏是一些依賴我都用過, org.hibernate作爲 休眠核心 4.2.0。CR1 \t \t \t org.hibernate作爲 \t 休眠公地的註解 \t 3.2.0.Final Bhushan 2013-02-19 14:15:34

+0

等一下,我會檢查,並讓你知道。 – 2013-02-19 14:17:58

3

檢查你的Hibernate的版本,你需要休眠核心3.6.0或更高版本才能使用addAnnotatedClass的方法org.hibernate.cfg.Configuration

+0

謝謝,問題解決了... – Bhushan 2013-02-20 09:30:54

1

另外:

我面臨同樣的問題,我來到這個網頁後Google搜索答案,這些答案都沒有幫助我,所以如果有人通過相同的問題:

我有一個ArrayList<Entity>,當我想添加一個項目的數組列表,遇到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>