在service层使用声明式事务添加@Transactional(rollbackFor = Exception.class)注解

多个方法进行数据库操作,执行失败则隐式的回滚事务,但是已经成功的发方法不会回滚,

想要,所有方法都回滚,需要手动try-catch,进行手动回滚(spring aop  异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常)

try {a.save();b.save();} catch (Exception e) {//方式一:aop捕获RuntimeException异常回滚throw new RuntimeException();//方式二:
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();}

转载于:https://www.cnblogs.com/soul-wonder/p/9799041.html

spring事物回滚遇到的问题相关推荐

  1. Spring aop切面插入事物回滚

    <!-- tx标签配置 事物--> <tx:advice id="txadvice" transaction-manager="transactionM ...

  2. service层自定义异常事物回滚

    今天在处理一个之前的订单业务逻辑,判断账户余额,不足则修改失败,所以直接就自己自定义了一个异常,然后抛出,controller中直接捕获,根据异常类型返回页面结果,但是问题来了,异常正常抛出,但是事物 ...

  3. java 回滚异常_Java异常与事物回滚探究

    非运行时异常(checke Exception)是RuntimeException以外的异常,类型上都属于Exception类及其子类.如IOException.SQLException等以及 用户自 ...

  4. java 不能回滚_Spring-Java事物回滚失效处理

    spring-Java事物回滚失效处理最近在做项目中,无意间发现有个类在抛事物回滚操作,数据也正常的插入到数据库当中了,于是仔细查看看一下具体原因. 一切还是要从Java的检查型异常和非检查型异常说起 ...

  5. Spring事务回滚和异常类

    转载自 https://www.cnblogs.com/tianyuchen/p/6678084.html 1.异常的一些基本知识 异常的架构 异常的继承结构:Throwable为基类,Error和E ...

  6. djongo mysql 回滚_django事物回滚

    往数据库写入数据时,不经意间就会写入不完整的数据,我们称之为脏数据.事务管理(transaction)可以防止这种情况发生.事务管理一旦检测到写入异常,会执行回滚操作,即要么写入完整的数据,要么不写入 ...

  7. 通过手动抛自定义异常实现spring事务回滚

    通过手动抛自定义异常实现spring事务回滚 参考文章: (1)通过手动抛自定义异常实现spring事务回滚 (2)https://www.cnblogs.com/javalanger/p/10912 ...

  8. java 事务回滚注解_Java Spring 事务回滚详解

    这篇文章主要介绍了java Spring事务回滚的相关资料,需要的朋友可以参考下 spring 事务回滚 1.遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误.伪代 ...

  9. Spring : Spring @Transactional-嵌套事物回滚

    1.美图 2.概述 事务回滚参考:Spring : Spring @Transactional-事物回滚 嵌套事务参考:Spring: 事务传播机制 3.前文回顾 // 2.如果当前已经存在事物 // ...

最新文章

  1. 非常好用的模糊pid温度控制算法_反应罐高低温温度控制装置
  2. 体感(Kinect)开发要点总结一
  3. python(matplotlib9)——animation动画
  4. Docker镜像构成和定制
  5. 10-4-文章评论管理
  6. 电脑异常关闭导致dubbo启动错误问题
  7. 2034.股票价格波动-LeetCode
  8. 关于runc漏洞CVE-2019-5736的修复公告 1
  9. 如何使用 LumaQQ 核心 API
  10. linux编程:pthread
  11. SanDisk cz48 16G TLC U盘量产经验分享
  12. Docker官方文档阅读笔记
  13. 网络推广方式有哪些?分享几种常见的推广方式,十分有效
  14. python核心教程之min函数怎么使用
  15. Verilog 避免 Latch
  16. P001【项目一】客户信息管理软件_Customer类(2)
  17. Project2016创建WBS并且进行相关设置
  18. uploader上传
  19. 用python手刃Leetcode(1):两数之和【简单题】
  20. 150家半导体企业IPO最新进展(附企业名录)

热门文章

  1. linux下多个db2,Linux下安装多个DB2副本
  2. 萌新资源 | 3D基础——渲染基本原理介绍
  3. 如何从零开始开发一个实时联机游戏?
  4. 剑与远征英雄兑换码如此少见,新玩家连抽获得数位英雄
  5. Python小游戏(并夕夕版飞机大战)
  6. 框架前期准备篇之AutoFac常见用法总结 转载
  7. springboot多数据源使用EntityManager
  8. Hive安装MySql
  9. 如何制作Windows镜像
  10. (转)git常用命令