-
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
相关推荐
Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...
【标题】"Jersey2.1+mysql+Hibernate4.3+Spring3.2" 描述了一个集成开发环境,该环境结合了四个关键的技术组件,用于构建基于RESTful Web服务的Java应用程序。让我们深入探讨每个组件及其在项目中的作用。 **Jersey...
Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...
Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的...
Hibernate4.2+Spring3.2+SpringMVC+shiro1.2.2+Maven整合和简单的登陆,导入工程后见description,内容简单基础,想做成脚手架供自己以后使用,望高手勿喷有什么宝贵意见望留言,谢谢
Struts2.3、Hibernate4.1、Spring3.2和EasyUI1.36是构建Java后台管理系统的四个核心组件,它们各自扮演着重要的角色,共同为开发人员提供了一个高效、灵活且功能丰富的框架。 Struts2是基于MVC(Model-View-...
Struts2、Spring和Hibernate是Java Web开发中的三...以上就是关于“Struts2+Spring2.5+Hibernate3.2整合示例”的主要知识点,这个整合实例涵盖了Java Web开发中的重要技术,对于开发者来说,深入学习和实践将非常有益。
【标题】:“Hibernate4.2+Spring3.2+Struts2”是一个经典的Java企业级应用开发组合,常被称为“SSH”(Struts、Spring、Hibernate)框架集成。这三个框架协同工作,为开发者提供了一个强大的、灵活的和可扩展的平台...
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
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
4. 集成Hibernate:配置Hibernate的实体类、映射文件,以及Spring的数据源和SessionFactory。 5. 测试:编写测试用例,验证SSH集成是否正常工作。 在实际开发中,SSH的整合可以提高开发效率,减少代码重复,使得...
这个整合项目中的文档,如"Spring2.5+Hibernate3.2+Struts2.0+jotm2.0集成配置.doc"、"spring 2.0 + hibernate3.2 + struts 2.0 开放配置.pdf"和"Spring2.5.3+Hibernate3.2+Struts2.0.11整合.pdf"应该详细介绍了这些...
struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...
该项目用的是struts-2.3.15,hibernate-release-4.2.3.Final,spring-framework-3.2.3 来进行整合的!希望对大家有帮助,特别是刚接触hibernate4的~带有sql文件,方便创建例子用到的数据库。
Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包