Spring事务之7种传播行为【类比理解】

如果想看具体概念介绍,请参考 :https://blog.csdn.net/qq_32424381/article/details/123561275

类型

描述

类比

Required

需要 如果存在一个事务,则支持当前事务。如果没有事务则开启

A有车你开A的车送他回家,没有你就开自己的车送他回家

Supports

支持 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行

A有车你开A的车送他回家,没有你就步行送他回家

Mandatory

必要的 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。

A有车你开A的车送他回家,没有你就不送

required_new

总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。

A有没有车你都开自己的车送他回家

Not_support

总是非事务地执行,并挂起任何存在的事务。

A有没有车你都步行送他回家

Never

绝不 总是非事务地执行,如果存在一个活动事务,则抛出异常

A没有车你步行送他回家,A有车你反而不送了

Nested

嵌套的 如果有就嵌套、没有就开启事务

A有车你就用A的车拖着你的车送A回家,A没有车你就开自己的车送A回家

A的情况

你的选择

case

A有车

开A的车送

Required Case 1,Supports case 1,Mandatory case 1,Nested case 1(特殊)

A有车

开自己的车送

required_new case 1

A有车

步行送

Not_support case 1

A有车

不送

Never case 1

A没车

开A的车送

A没车

开自己的车送

required_new case 2,Required Case 2,Nested case 2

A没车

步行送

Not_support case 2,Supports case 2,Never case 2

A没车

不送

Mandatory case 2

你可能感兴趣的:(数据库,事务,传播行为)