-
Hibernate4+spring3.2整合事物问题0
首先描述下环境,使用spring3.2MVC+hibernate 4.2.1
问题:事务不提交,session不关闭
测试过程:
1、使用openSession(),手动开启事物,关闭事物没问题
2、使用getCurrentSession(),单元测试没问题,集成之后事务回滚
声明:代码逻辑没有错误。
单元测试父类@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:spring/spring-*.xml" }) @TransactionConfiguration(transactionManager="transactionManager",defaultRollback = false)//true:始终回滚 false:数据提交 @Transactional public class SpringTest { }
web.xml的OpenSessionInViewFilter<filter> <filter-name>lazyLoadingFilter</filter-name> <filter-class> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> <!-- singleSession默认为true,若设为false则等于没用OpenSessionInView --> <init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>sessionFactoryBeanName</param-name> <param-value>sessionFactory</param-value> </init-param> <init-param> <param-name>flushMode</param-name> <param-value>AUTO</param-value> </init-param> </filter> <filter-mapping> <filter-name>lazyLoadingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
事物配置<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan"> <list> <value>com.ld.car.*.entity</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">false</prop> </props> </property> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 方法对应的传播属性 --> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="load*" propagation="REQUIRED"/> <tx:method name="query*" propagation="REQUIRED"/> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="get*" propagation="REQUIRED" /> <tx:method name="count*" propagation="REQUIRED"/> <tx:method name="find*" propagation="REQUIRED" /> <tx:method name="list*" propagation="REQUIRED"/> <!--<tx:method name="*" propagation="REQUIRED" />--> </tx:attributes> </tx:advice> <!-- 事务控制位置,一般在业务层service --> <aop:config> <aop:pointcut id="txPointcut" expression="execution(* *..service.impl.*.*(..)))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/> </aop:config> <!--在*ServiceImpl里写@Transactional就可以启用事物管理 --> <tx:annotation-driven transaction-manager="transactionManager"/>
2014年12月12日 18:06
1个答案 按时间排序 按投票排序
-
可以看看这个demo
http://www.itjavaer.com/article/22
我估计是你的execution有问题aop没有切到2014年12月17日 14:13
相关推荐
Jersey2.1+mysql+Hibernate4.3+Spring3.2
struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本 ,mysql,tomcat,myeclipse完整工程
struts2.3+hibernate4.1+spring3.2+EasyUI1.36整合实现的java后台管理系统
这是一个struts 1.2 + spring 2.5 + hibernate 3.2框架demo, 运行环境为eclipse 3.2 + tomcat 5.5 + oracle 11g
Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...
Hibernate4.2+Spring3.2+SpringMVC+shiro1.2.2+Maven整合和简单的登陆,导入工程后见description,内容简单基础,想做成脚手架供自己以后使用,望高手勿喷有什么宝贵意见望留言,谢谢
完整的struts1.2+hibernate3.2+spring2.5框架集成 完整的dwr2.0+spring2.5集成 处理的dwr2.0+hibernate3.2集成的问题
个人总结的搭建 Struts2.0 + Hibernate3.2 + Spring2.5 的说明 包含了所有jar包的名称以及有冲突jar包的名称(以便删除)。
hibernate4.2+spring3.2+struts2简单登录功能
SSH整合jar包,版本为struts2.3+hibernate3.6+spring3.2。
Struts2+hibernate3.2+Spring2.0架构搭建的菜鸟实例,按照每一步搭建自己的软件架构
struts2.1 + hibernate3.2+spring2.5整合 给大家散发个S2SH整合视频,希望对大家有所帮助
Struts2.0+Hibernate3.2+Spring2.0整合源码,用的DB是SQL Server 2005 ,jar包里面都有的了.
Struts2+Hibernate3.2+Spring2.0整合续二,花心思找的,希望对大家有帮助,欢迎下载
做了一个ssh2的整合示例,删除了示例中的jar包,资源太大传不上,该示例采用的目前主流的技术struts2.1+hibernate3.2+spring2.5 的整合开发,示例采用面向接口的设计开发模式,使用spring来管理hibernate的事务,...
Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合 能够运行,没有任何问题 另外附带applicationContext.xml、struts.xml、hibernate.cfg.xml
Struts2.1.18+Hibernate3.2+Spring3.0+MySQL整合 开发环境: Windows XP SP3 MyEclipse Enterprise Workbench Version: 8.5 Tomcat 6.0.18 JDK 6.0.20 MySQL 5.1
Struts 2.0 + Hibernate 3.2 + Spring 2.0 框架整合.doc
struts2+Spring2.5+Spring3.2)实现登录.struts2+Spring2.5+Spring3.2)实现登录.struts2+Spring2.5+Spring3.2)实现登录。
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...