标签:事务 spring Transactional 存在 Propagation methodB Isolation 注解
@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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。