首页 > 其他分享 >@Transactional注解的事务传播行为

@Transactional注解的事务传播行为

时间:2023-02-17 17:35:14浏览次数:42  
标签:事务 Transactional REQUIRED 传播 注解 行为

Transactional是Spring事务管理提供的注解,在一个方法中加上了这个注解,那么这个方法就将是有事务的,Transactional.propagation:传播行为

1.Transactional注解中七种事务传播行为

1.它是用来表示当一个事务传播行为修饰的方法被另一个方法调用时,事务如何进行传播 ​
事务传播行为 效果
​ REQUIRED:(必须) 如果以前有事务,就和之前的事务共用一个事务,没有就创建一个事务。 ​
REQUIRES_NEW(新的事务) 创建一个新的事务,如果以前有事务,暂停前面的事务,也就是说总是用新事务。 ​
SUPPORTS(支持) 之前有事务,就和之前事务共用的方式运行,没有事务也可以。 ​ MANDATORY(强制) 一定要有事务,如果没事务就报错。 ​
NOT_SUPPORTED(不支持) 不支持在事务内运行,如果已经有事务了,就挂起当前存在的事务。 ​
NEVER(从不使用) 不支持在事务内运行,如果已经有事务了,抛异常。 ​
NESTED 开启一个子事务(MySQL不支持),需要支持还原点功能的数据库才行 ​
​​​​​​​> @Transactional默认的传播行为是REQUIRED,且一般情况下只用REQUIRED和REQUIRES_NEW,其他了解即可 @Transactional(propagation = Propagation.REQUIRED)
@Transactional(propagation = Propagation.REQUIRES_NEW)

标签:事务,Transactional,REQUIRED,传播,注解,行为
From: https://www.cnblogs.com/2393920029-qq/p/17130779.html

相关文章

  • 3.mysql事务
    mysql事务事务:什么是事务事务是访问和更新数据库的程序执行单元,一个事务中可能包含一个或多个sql语句,且这些语句要么都执行,要么都不执行mysql逻辑架构如上图,mys......
  • 使用@PostConstruct 注解解决@Autowire注入对象为空
    在spring中,对象声明周期为构造器->@Autowired->@PostConstruct有初始化用到@Autowired对象的需求,可以在初始化方法加上@PostConstruct注解    ......
  • odoo手动提交事务问题探索
    背景:在做项目时,发现数据库中几百条数据的修改时间都是相同的。寻找其中原因,在代码层面为了避免大数据量放在一次修改数据,特意做了分页查询,每一页执行一次更新方法,所有数据......
  • Java: RocketMQ事务消息的优雅使用
    背景在项目中,技术方案需要使用事务消息来保证最终一致性达到实现业务的目的。但在一个服务中有多个业务需要使用事务消息发送不同的消息类型到不同的Topic时,RocketMQ的本......
  • AOP + 注解 实现通用的接口参数校验
    大家好,我是小悟写移动端接口的时候,为了校验参数,传统的做法是加各种判断,写了很多重复的代码,而且也不美观。为了增加代码复用性,美观的校验参数,采用AOP+注解的方式来实现接口......
  • Spring的事务传播机制
    事务的传播机制名词解释:Spring事务传播机制是指,包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的。既然是“事务传播”,所以事务的数量应该在两个或两个以......
  • Spring IOC DI OOP @Transactional
    ......
  • SQL基础-事务
    1.概述是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。注意: ......
  • Spring的配置、依赖注入、Bean的自动装配及注解开发
    Spring配置1.别名alias设置别名,为bean设置别名,可以设置多个别名<!--设置别名:在获取Bean的时候可以使用别名获取--><aliasname="userT"alias="userNew"/>......
  • mysql事务隔离
    前言简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的。你现在知道,MySQL是一个支持多引擎的系统,但并不是所有的引擎都......