spring的五个事务隔离级别和7个事务传播属性

简介: spring的五个事务隔离级别和7个事务传播属性


一、五大事务隔离级别

Isolation 属性一共支持五种事务设置,具体介绍如下:


隔离级别 解释
DEFAULT 使用数据库设置的隔离级别 ( 默认 ) ,由 DBA 默认的设置来决定隔离级别 .
READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 )
READ_COMMITTED 会出现不可重复读、幻读问题(锁定正在读取的行)
REPEATABLE_READ 会出幻读(锁定所读取的所有行)
SERIALIZABLE 保证所有的情况不会发生(锁表)


二、7大事务传播属性

事务 解释
PROPAGATION_REQUIRED spring默认的事务传播级别 ,如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。
PROPAGATION_SUPPORTS 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。但是对于事务同步的事务管理器,PROPAGATION_SUPPORTS与不使用事务有少许不同。
PROPAGATION_MANDATORY 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
PROPAGATION_REQUIRES_NEW 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
PROPAGATION_NOT_SUPPORTED 总是非事务地执行,并挂起任何存在的事务。
PROPAGATION_NEVER 总是非事务地执行,如果存在一个活动事务,则抛出异常
PROPAGATION_NESTED 如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行,当使用PROPAGATION_NESTED时,底层的数据源必须基于JDBC 3.0,并且实现者需要支持保存点事务机制


Spring五个事务隔离级别和七个事务传播行为

Spring的四种事务特性,五种隔离级别,七种传播行为


目录
相关文章
|
18小时前
|
XML Java 数据库
Spring框架第五章(声明式事务)
Spring框架第五章(声明式事务)
|
8天前
|
Java 开发者 Spring
spring事务类型,事务传递,隔离级别?
spring事务类型,事务传递,隔离级别?
|
9天前
|
Java Spring 容器
Spring 中一个事务方法调用另一个事务方法会怎样?
【6月更文挑战第5天】如果我们在一个包含事务的方法中,调用了另一个包含里事务的方法,那么,Spring 会创建新的事物吗?如果方法抛出异常导致事务会滚了呢?
20 0
|
15天前
|
Java 关系型数据库 MySQL
【JavaEE进阶】Spring中事务的实现
【JavaEE进阶】Spring中事务的实现
|
21天前
|
Java 关系型数据库 MySQL
Spring 事务和事务传播机制
Spring 事务和事务传播机制
Spring 事务和事务传播机制
|
21天前
|
Java 关系型数据库 MySQL
Spring 事务和事务传播机制
Spring 事务和事务传播机制
|
21天前
|
Java 数据库 Spring
Spring 事务
Spring 事务
24 1
|
22天前
|
Java 数据库 Spring
Spring 事务 (编程式 & 声明式, Spring 事务传播机制)
Spring 事务 (编程式 & 声明式, Spring 事务传播机制)
24 1
|
25天前
|
Java 数据库连接 Spring
Spring事务
Spring事务
21 1
|
1月前
|
SQL Java 关系型数据库
Spring 事务
Spring 事务
22 1