SpringBoot 事务传播

事务传播Propagation

REQUIRED:

1、使用当前的事务,如果当前没有事务,则自己新建一个事务,子方法是必须运行在一个事务里

2、如果当前存在事务,则加入这个事务(比如加入父事务),成为一个整体(成为父事务的一部分)

SUPPORTS:

1、如果当前有事务,则使用事务,如果当前没有事务,则不使用事务

MANDATORY:

1、该传播属性强制必须存在一个事务,如果不存在,就会抛出一个异常

REQUIRES_NEW:

1、如果当前有事务,则挂起该事务,并且自己会创建一个新的事务给自己使用

2、如果当前没有事务,则会同REQUIRED

NOT_SUPPORTED:

1、如果当前有事务,则把事务挂起,自己本身不使用事务去运行数据库操作

NEVER:

1、如果当前有事务存在,则抛出异常

NESTED:

1、如果当前有事务,则开启子事务(嵌套事务),嵌套事务是独立提交或者回滚

2、如果当前没有事务,则同 REQUIRED

3、如果父事务提交,则会携带子事务一同提交

4、如果父事务回滚,会待着子事务一同回滚

5、如果子事务发生异常回滚,父事务可以选择回滚或者不回滚(选择权在父事务中)

你可能感兴趣的:(Java,数据库,java,开发语言)