簡體   English   中英

NoSuchMethodError:org.hibernate.SessionFactory.openSession()

[英]NoSuchMethodError: org.hibernate.SessionFactory.openSession()

我的類路徑中包含hibernate3.jar和hibernate-core-4.2.0.CR1.jar,並且使用的是Spring 3.1.3版本。 代碼成功編譯,但是在運行時出現以下錯誤

2014-10-28 10:51:25,174調試[RMI TCP Connection(2)-10.126.30.203]-RemoteInvocation的目標方法失敗:方法名稱為'getPriceByKeys'; 參數類型[java.util.List,java.util.Date] java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg / hibernate / Session;

我用谷歌搜索,但找不到任何解決方案。 請注意:我的項目需要hibernate3.jar,但同時我的項目依賴於其他第3方jar,而后者又使用了hibernet4.2.0 jar。

有幫助嗎?

您需要從classpath刪除多個休眠JAR文件。 如果不這樣做,您的應用程序可能無法按預期工作。 這意味着您需要將應用程序的休眠版本從3遷移到4.1。

盡管Spring 3.1使用了Hibernate 3 JAR文件,但是您仍然可以遷移到Hibernate4。請查看Spring博客中的一個小教程。

遷移到Spring 3.1和Hibernate 4.1

作為Core-Spring課程的一部分,我們有一個實驗室應用程序,用於展示如何將Spring和JPA / Hibernate集成在一起。 我們剛剛將其升級到Spring 3.1 / Hibernate 4.1,並認為我們應該分享一些技巧。

只是一個更新。 問題的原因是,我在項目中有兩個spring-context xml文件(我的一個項目和一個與我要集成的另一個模塊相關的文件)。 我正在從兩個不同的類加載上下文xml。 因此,由spring-context xml之一加載的DAO類之一未獲得休眠Session

稍后使用import標記時,我在第一個應用程序上下文文件中包含了第二個spring應用程序上下文文件,然后從該類中加載了Single應用程序上下文文件。 它解決了錯誤。

謝謝,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM