springboot 事务嵌套问题_SpringBoot事务设置[通俗易懂]

springboot 事务嵌套问题_SpringBoot事务设置[通俗易懂]@Transactional(noRollbackFor=Exception.class)@Transactional(rollbackFor=Exception.class,propagation=Propagation.REQUIRES_NEW)//使被调用者不受调用者的异常影响,出现异常之后,使父方法回滚,子方法不回滚@Transactional(rollbackFor=Exc…

大家好,又见面了,我是你们的朋友全栈君。

@Transactional(noRollbackFor=Exception.class)

@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) //使被调用者不受调用者的异常影响,出现异常之后,使父方法回滚,子方法不回滚

@Transactional(rollbackFor = Exception.class,propagation = Propagation.SUPPORTS):支持当前事务,如果当前没有事务,就以非事务方式执行。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED):如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。(默认)。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.MANDATORY):使用当前的事务,如果当前没有事务,就抛出异常。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW):新建事务,如果当前存在事务,把当前事务挂起。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.NOT_SUPPORTED):以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.NEVER):以非事务方式执行,如果当前存在事务,则抛出异常。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.NESTED):如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

@Transactional(rollbackFor = Exception.class,propagation = Propagation.SUPPORTS):支持当前事务,如果当前没有事务,就以非事务方式执行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131440.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转发和重定向的区别是什么

    转发和重定向的区别是什么1 请求次数重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求 转发是服务器收到请求后为了完成响应跳转到一个新的地址 重定向至少请求两次 转发请求一次 2 地址栏不同重定向地址栏会发生变化 转发地址栏不会发生变化 3 是否共享数据重定向两次请求不共享数据 转发一次请求共享数据 在 request 级别使用信息共享 使用重定向必然出错 4 跳转限制重定向可以跳转到任意 URL 转发只能跳转本站点资源 5 发生行为不同重定向是客户端行为 转发是服务器端行为

    2025年10月9日
    3
  • rapidxml操作XML

    rapidxml操作XML主要对上一篇文章做了修改,文章涉及创建、读取和修改XML文件,内容比较齐全,可以供大家学习。创建xml文件:基本步骤:给文件分配节点xmlDoc.allocate_node(node_element,”seqs”,NULL);把分配好的节点添加到文件中xmlDoc.append_node(seqsNode)。对于节点属性,先分配节点xml_node<>*seqsNode=xmlDoc

    2022年7月17日
    18
  • Linux 查看环境变量_linux修改环境变量顺序

    Linux 查看环境变量_linux修改环境变量顺序一、Linux的变量种类     按变量的生存周期来划分,Linux变量可分为两类:     1、永久的:需要修改配置文件,变量永久生效。     2、临时的:使用export命令声明即可,变量在关闭shell时失效。 二、设置变量的三种方法1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】     用VI在文件/etc/profile文件

    2022年10月1日
    2
  • 如何在阿里云服务器部署程序并用域名直接访问

    如何在阿里云服务器部署程序并用域名直接访问闲来无事,买了一个最便宜的阿里云服务器来学习,一年三百多,适合新手了解程序等。一般买服务器只有公网的IP地址,也就是类似10.205.25.32这种形式的。如何想用域名(例如www.baidu.com)直接访问的你网站,可以在阿里云直接再买个域名,将域名解析绑定ip地址。有人想知道怎么解析域名,我这里补充一下域名相关内容1.域名:…

    2022年6月18日
    31
  • 【报错解决办法】AttributeError: module ‘thread‘ has no attribute ‘start_new_thread‘

    【报错解决办法】AttributeError: module ‘thread‘ has no attribute ‘start_new_thread‘项目中有包名 thread python 中文件夹名也是包名 与系统的 thread 库冲突了 把项目中的文件夹改名即可 即把项目中的 thread py 改成其他名称 pycharm 中右键 thread py refactor rename 修改为与系统 thread 库不相同的名称

    2025年10月23日
    8
  • [译] 一些ES6的小技巧

    [译] 一些ES6的小技巧

    2022年3月13日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号