@Transactional的事务传播方式
时间: 2023-10-28 16:53:20 浏览: 54
[] - 2022-06-28 如何将 @Transactional 事务注解运用到炉火纯青?.pdf
@Transactional注解可以用于方法级别或类级别,它们定义了事务的边界。在方法执行期间,如果发生异常,事务将被回滚,否则它将被提交。
事务的传播方式定义了在多个事务性方法之间如何管理事务。Spring支持以下传播方式:
1. REQUIRED(默认值):如果当前没有事务,则创建一个新事务,如果已经有一个事务正在运行,则加入该事务。
2. SUPPORTS:如果当前存在事务,则加入该事务,否则以非事务性的方式继续执行。
3. MANDATORY:如果当前存在事务,则加入该事务,否则抛出异常。
4. REQUIRES_NEW:创建一个新事务,并挂起当前事务(如果存在)。
5. NOT_SUPPORTED:以非事务性的方式执行,并挂起当前事务(如果存在)。
6. NEVER:以非事务性的方式执行,如果当前存在事务,则抛出异常。
7. NESTED:如果当前存在事务,则在嵌套事务中执行,否则创建一个新事务。如果外部事务提交,则提交内部事务,否则回滚内部事务。
阅读全文