Spring的事务机制

事务原理

原子性

一致性

隔离性

持续性

Mysql事务原理

ReadUncommitted(读取未提交内容)

ReadCommitted(读取提交内容)

RepeatableRead(可重读)Mysql默认

Serializable(可串行化)

spring提供了对事务更完善的管理,带出事务的传播级别

事务传播行为类型

说明

PROPAGATION_REQUIRED

如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS

支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY

使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW

新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER

以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED

如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

参考文章:

spring事务结构:http://www.cnblogs.com/davidwang456/p/4309038.html

相关推荐