Transactional是Spring事务管理提供的注解,在一个方法中加上了这个注解,那么这个方法就将是有事务的,Transactional.propagation:传播行为
1.Transactional注解中七种事务传播行为
标签:事务,Transactional,REQUIRED,传播,注解,行为 From: https://www.cnblogs.com/2393920029-qq/p/17130779.html1.它是用来表示当一个事务传播行为修饰的方法被另一个方法调用时,事务如何进行传播
事务传播行为 效果
REQUIRED:(必须) 如果以前有事务,就和之前的事务共用一个事务,没有就创建一个事务。
REQUIRES_NEW(新的事务) 创建一个新的事务,如果以前有事务,暂停前面的事务,也就是说总是用新事务。
SUPPORTS(支持) 之前有事务,就和之前事务共用的方式运行,没有事务也可以。 MANDATORY(强制) 一定要有事务,如果没事务就报错。
NOT_SUPPORTED(不支持) 不支持在事务内运行,如果已经有事务了,就挂起当前存在的事务。
NEVER(从不使用) 不支持在事务内运行,如果已经有事务了,抛异常。
NESTED 开启一个子事务(MySQL不支持),需要支持还原点功能的数据库才行
> @Transactional默认的传播行为是REQUIRED,且一般情况下只用REQUIRED和REQUIRES_NEW,其他了解即可 @Transactional(propagation = Propagation.REQUIRED)
@Transactional(propagation = Propagation.REQUIRES_NEW)