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