springboot 事务嵌套问题_SpringBoot(二) 事务

事务处理

Spring Boot事务机制实质上就是Spring的事务处理机制。

1 事务的4大特性

原子性(Atomicity)

一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作。

一致性(Consistency)

一旦事务完成(不管成功还是失败),系统必须确保涉及的数据处于一致的状态,而不会是部分完成部分失败。数据不应该被破坏。

隔离性(Isolation)

并发环境下,一个事务的执行不能不被其他事务干扰。不同的事务并发操作相同的数据时,每个事务都有各自完成的数据空间。

即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。

持久性(Durability)

一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久保存到数据库中。

2 事务的传播机制

事务的传播性一般用在事务嵌套的场景,比如一个事务方法里面调用了另外一个事务方法。

那么两个方法是各自作为独立的方法提交还是内层的事务合并到外层的事务一起提交,这就是需要事务传播机制的配置来确定怎么样执行。

即:一个新的事务应该被启动还是被挂起,或者是一个方法是否应该在事务性上下文中运行。

事务传播机制有以下几种:

PROPAGATION_REQUIRED

Spring默认的传播机制,能满足绝大部分业务需求,如果外层有事务,则当前事务加入到外层事务,一块提交,一块回滚。

如果外层没有事务,新建一个事务执行。

PROPAGATION_REQUES_NEW

每次

你可能感兴趣的:(springboot,事务嵌套问题)