我的问题与这个相同 - java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session
我在使用 Spring JDBCTemplate 时遇到以下异常。
java.lang.NoSuchMethodError: org.hibernate.Session.connection()Ljava/sql/Connection;
上面链接中接受的答案,建议将 Hibernate 降级到 Spring 支持的版本。
这对我来说是不能接受的,因为我需要最新版本的 Hibernate 才能使用它的新功能(并从错误修复中获益)。
有没有办法在不降级 hibernate 的情况下让它工作?
最佳答案
我得到这个是因为我已经从 Hibernate4 升级到 Hibernate 5,但在 web.xml 中仍然有对 4 的引用。
是:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
改为:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
关于java - Spring JDBC 抛出 java.lang.NoSuchMethodError : org. hibernate.Session.connection()Ljava/sql/Connection;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317728/