首页  

spring事务隔离级别设置     所属分类 spring 浏览量 782
@Transactional

isolation   事务隔离级别 org.springframework.transaction.annotation.Isolation 
noRollbackFor Class< ? extends Throwable>[] 一组异常类,遇到时不回滚。默认为{}
noRollbackForClassName Stirng[] 一组异常类名,遇到时不回滚,默认为{}
propagation 事务传播行为 org.springframework.transaction.annotation.Propagation的值
readOnly 是否只读 boolean
rollbackFor Class< ? extends Throwable>[] 一组异常类,遇到时回滚
rollbackForClassName Stirng[] 一组异常类名,遇到时回滚
timeout 超时时间 秒
value  指定事务管理器 String



@Transactional(isolation=Isolation.DEFAULT)
public void method(){}

@Transactional(rollbackForClassName={"java.lang.Exception"})


默认只在发生 RuntimeException和Error时才回滚
会把Error 转化成 RuntimeException  



DEFAULT             数据源的默认隔离级别
READ_UNCOMMITTED    读未提交 可防止更新丢失 但不能防止脏读 不可重复读 幻读
READ_COMMITTED      读已提交 可防止更新丢失 和 脏读,但不能防止不可重复读 幻读
REPEATABLE_READ     可重复读 可防止更新丢失 脏读 不可重复读,但不能防止幻读
SERIALIZABLE        串行化   可防止更新丢失 脏读 不可重复读 幻读


行级锁 无法实现事务串行化



mysql的读已提交和可重复读 MySQL事务机制 mysql MVCC 和 事务隔离级别 Mysql锁机制 Mysql事务隔离级别 innodb mvcc InnoDB锁机制之Gap Next-Key Record Lock

上一篇     下一篇
Flink DataSet 数据输出 示例

Flink DataSet 数据转换示例

flink广播变量简介

mysql show processlist State 含义

MySQL查看事务和锁状态

flink dataset 测试数据说明