spring-Spring4整合Hibernate4添加事务后出NoSuchMethodError

问题描述

Spring4整合Hibernate4添加事务后出NoSuchMethodError

错误信息:
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getConnectionProvider()Lorg/hibernate/service/jdbc/connections/spi/ConnectionProvider;
at org.springframework.orm.hibernate4.SessionFactoryUtils.getDataSource(SessionFactoryUtils.java:90)
at org.springframework.orm.hibernate4.HibernateTransactionManager.afterPropertiesSet(HibernateTransactionManager.java:335)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)

说明:未加事务时Struts2+Spring3+Hibernate4能正常运行,而加入事务后就出现以上错误!!

解决方案

应该是包冲突了,你看看org.hibernate.engine.spi.SessionFactoryImplementor这个类是不是有出现在两个包中

时间: 2024-11-02 10:40:53

spring-Spring4整合Hibernate4添加事务后出NoSuchMethodError的相关文章

spring mvc+spring3+hibernate4的事务不会自动清楚session缓存

问题描述 spring mvc+spring3+hibernate4的事务不会自动清楚session缓存 没有手动清缓存,就不执行插入SQL了手动清缓存的话,就能添加成功. 有知道原因的大神吗!!! 解决方案 没遇到过这种情况,tomcat么 解决方案二: 你这个没有加上事务,save时不会自动flush,加了事务之后commit时会自动flush.你配置事务了吗? 解决方案三: 贴出事务来看看,会不会没起作用

spring4.14+hibernate4.3整合,web运行正常,junit测试报错;

问题描述 spring4.14+hibernate4.3整合,web运行正常,junit测试报错: 之前web启动的时候也报这个错误,然后在web.xml里面加了这个filter,就好了. 可是现在用junit测试,没办法读取web.xml里面的配置,所以还报了这个错, 别问我为什么要junit测试,就是想知道 junit测试的时候这种情况怎么解决. 下面附代码 SpringOpenSessionInViewFilterorg.springframework.orm.hibernate4.sup

SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 2014-08-12 23:45补: =================开始================= 1.增加quartz :http://www.cnblogs.com/acehalo/p/3902731.h

spring事务回滚只能配在service层吗。为什么我想在Test中添加事务不能进行回滚呢

问题描述 spring事务回滚只能配在service层吗.为什么我想在Test中添加事务不能进行回滚呢 <tx:advice id="txAdvice2" transaction-manager="txManager"> <tx:attributes> <tx:method name="inserttwo*" propagation="REQUIRED"/> </tx:attribut

struts spring mybatis 整合出问题

问题描述 struts spring mybatis 整合出问题 报错: IOException parsing XML document from ServletContext resource [/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/applicationContext.xml] 配置文件appl

为什么我配置Spring的事务后不能得到BEAN

问题描述 我配置Spring的事务后不能得到BEAN如果把事务的部分去掉的话就能够得到下面这是applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

Spring中如何实现插入数据后调用存储过程,且在同一事务里,如何证明。

问题描述 Spring中如何实现插入数据后调用存储过程,且在同一事务里,如何证明.Spring是如何管理事务的,我在插入后如何自动提交的. 解决方案 解决方案二:<propertyname="sqlMapClientTemplate"ref="sqlMapClientTemplate"></property>DAO中使用的这个对应的beanxml是<beanid="sqlMapClientTemplate"class

maven intellij-mybatis+spring mvc整合出的错误!

问题描述 mybatis+spring mvc整合出的错误! 10C 在myeclipse中的配置文件转到intellij用maven创建web项目就出现下面的异常.UserMapper.xml中的方法和UserMapper.java中的一样.改用原生JDBC连接没问题,就是不知道是什么错,请大神帮忙解答.在myeclipse中都没问题的,改maven就不行了,纳闷了. type Exception report message Request processing failed; nested

spring security cas整合如何实现注册后自动登录

问题描述 spring security cas整合如何实现注册后自动登录 spring security cas整合如何实现注册后自动登录,哪位高手有样例代码,万分感谢 解决方案 CAS 之 实现用户注册后自动登录