在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。

Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked

如果遇到checked意外就不回滚。

如何改变默认规则:

1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)

2 让unchecked例外不回滚: @Transactional(notRollbackFor=RunTimeException.class)

3 不需要事务管理的(只查询的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)

注意: 如果异常被try{}catch{}了,事务就不回滚了,如果想让事务回滚必须再往外抛try{}catch{throw Exception}。

最新文章

  1. 判别或预测方法汇总(判别分析、神经网络、支持向量机SVM等)
  2. mysql登录不了及修改密码
  3. 重签名问题:does not have a signature matching
  4. 2016.5.27 PHP连接数据库与查询
  5. 项目管理:CocoaPods建立私有仓库
  6. 可运行jar包生成步骤和jar包的生成
  7. Python分析NGINX LOG版本二
  8. 表达式求值(河南省第四届ACM试题-C题)题解
  9. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决
  10. jstl标签经典
  11. [LeetCode61]Rotate List
  12. head first python helloword
  13. 关于Springboot整合mybatis启动的问题
  14. RNN的简单的推导演算公式(BPTT)
  15. DQL、DML、DDL、DCL
  16. jaeger 使用初探
  17. 南京邮电大学java第三次实验报告
  18. 有关this
  19. C#使用Linq to Sqlite
  20. 腾讯2019年暑期实习生招聘提前批在线笔试技术研究和数据分析方向t2(python)

热门文章

  1. Delphi连接Oracle控件ODAC的安装及使用
  2. php提供一维数组模糊查询
  3. 【NPDP笔记】第一章 新产品开发战略
  4. Spring Boot启动时出现WARN:No MyBatis mapper was found in
  5. Sublime Text3 搭建前端开发环境
  6. spring框架是怎么样通过properties来获得对象的?
  7. js中常见的字符串方法(3)
  8. DS AVL树详解
  9. Go语言【数据结构】字符串
  10. JDK8源码解析 --- Long 类型