其他分享
首页 > 其他分享> > spring的@Transactional注解

spring的@Transactional注解

作者:互联网

@Transactional注解的属性

属性 类型 描述
value Sring 指定事务管理
propagation enum:Propagation 指定事务传播行为
isolation enum:Isolation 指定事务的隔离级别
readOnly boolean
timeout int
rollbackFor
rollbackForClassName
noRollbackFor
noRollbackForClassName

事务的传播行为propagation

假设上下文由事务A,现在@Transactional注解又标注的methodB()方法,那么此时是新建一个事务B还是把methodB()方法加入的事务A中?
Propagation.REQUIRED:默认设置,存在事务A就加入事务A,若不存在事务A,就新建事务B。
Propagation.REQUIRES_NEW:创建事务B,若存在事务A,挂起事务A
Propagation.SUPPORTS:若存在事务A就加入事务A,否则以非法形式存在。
Propagation.NOT_SUPPORTED:methodB()方法以非法形式存在,若存在事务A,挂起事务A
Propagation.NEVER:methodB()方法以非法形式存在,若存在事务A,抛出异常
Propagation.MANDATORY:若存在事务A,methodB()方法加入事务A,否则抛出异常
Propagation.NESTED:创建事务B,methodB()在事务B内运行,若存在事务A,则事务B嵌套在事务A中。

事务的隔离级别isolation

Isolation.DEFAULT:
Isolation.REPEATABLE_READ;
Isolation.READ_COMMITTED;
Isolation.READ_UNCOMMITTED;
Isolation.SERIALIZABLE

标签:事务,spring,Transactional,存在,Propagation,methodB,Isolation,注解
来源: https://www.cnblogs.com/sinosecurity/p/16097020.html