![](/img/trans.png)
[英]NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
[英]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博客中的一個小教程。
作為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.