今天整理下Spring的事务传播特性
整理原因:每次看的时候总是能理解,但是过段时间就忘记了,所以记载下,供自己和大家复习
事务传播行为类型:
REQUIRED :
如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
SUPPORTS :
支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY:
使用当前的事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW :
新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED:
以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER :
以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED :
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
REQUIRED :
如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。
SUPPORTS :
支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY:
使用当前的事务,如果当前没有事务,就抛出异常。
REQUIRES_NEW :
新建事务,如果当前存在事务,把当前事务挂起。
NOT_SUPPORTED:
以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
NEVER :
以非事务方式执行,如果当前存在事务,则抛出异常。
NESTED :
如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。