SSH整合,spring事务管理不回滚问题
来源:互联网 发布:上海青少年编程培训 编辑:程序博客网 时间:2024/05/17 12:53
Spring的事务回滚,当且仅当捕获到RuntimeException类型异常时,才会回滚,对普通Exception异常无效。
以下是我Service层捕获异常,并抛出RuntimeException异常到Action层:
@Overridepublic void lock(String id) throws RuntimeException {try {this.loginUserDao.lock(id);LoginUser user = this.loginUserDao.findById(id);user.setSex("捕捉到异常后,抛出RuntimeException类型的异常");this.loginUserDao.save(user);} catch (Exception e) {// 捕捉到异常后,抛出RuntimeException类型的异常。// spring 事务只在捕足到RuntimeException异常时,才会回滚,对Exception无效throw new RuntimeException(e.getMessage());}}
<!-- 为sessionFactory定义事务管理器 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"><ref local="sessionFactory" /></property></bean><!-- 定义事务拦截器 --><bean id="transactionInterceptor"class="org.springframework.transaction.interceptor.TransactionInterceptor"><!-- 为事务拦截器注入一个事务管理器 --><property name="transactionManager" ref="transactionManager" /><property name="transactionAttributes"><!-- 定义事务传播属性 PROPAGATION_REQUIRED:表示如果事务不存在,则创建一个新事务,如果存在,则加入到该事务。 --><props><prop key="save*">PROPAGATION_REQUIRED</prop><prop key="add*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="lock*">PROPAGATION_REQUIRED</prop><prop key="unLock*">PROPAGATION_REQUIRED</prop><prop key="find*">PROPAGATION_REQUIRED,readOnly</prop><prop key="list*">PROPAGATION_REQUIRED,readOnly</prop><prop key="get*">PROPAGATION_REQUIRED,readOnly</prop><prop key="*">PROPAGATION_REQUIRED,readOnly</prop></props></property></bean><!-- 定义拦截器要拦截的bean --><bean id="autoProxy"class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"><property name="beanNames"><list><!-- 拦截所有名字以Service结尾的bean进行代理 --><value>*Service</value></list></property><property name="interceptorNames"><list><value>transactionInterceptor</value></list></property></bean>
- SSH整合,spring事务管理不回滚问题
- SSH整合Spring事务管理
- SSH spring事务管理不回滚问题
- 15、Spring事务管理、SSH整合
- SSH整合,事务管理
- 框架 day37 Spring事务管理,整合web,SSH整合,SSH整合注解
- 第38天(就业班) Spring事务管理 SSH整合
- spring整合ibatis事务管理
- Spring整合hibernate4:事务管理
- Spring整合hibernate4:事务管理
- Spring整合hibernate4:事务管理
- SSH整合时的事务管理
- spring与hibernate的整合问题—事务管理
- Spring+Hibernate整合时关于Hibernate事务管理的问题
- spring整合mybatis的事务管理
- Spring整合Hibernate的事务管理
- mybatis与spring整合事务管理
- spring mvc整合mybatis事务管理
- Spring 3.1.1 + mybatis 3.1.0 + struts2.3.1.2
- FastDFS 知识点介绍
- 清除所有cookie
- ubuntu下用Eclipse搭建C++开发环境
- tx面试
- SSH整合,spring事务管理不回滚问题
- FastDFS和集中存储方式对比
- Hibernate更新数据
- “Microsoft Visual C++ Runtime Library”错误
- Eclipse重要快捷键
- 原来我们是DevKit8000
- Linux 客户端与服务器SSH连接不会断掉
- oracle ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for mo
- cvLoadImage 不能将参数1从 "_TCHAR*" 转换为"const char *"