Spring的事务传播
时间: 2024-04-28 11:24:40 浏览: 71
Spring的事务传播指的是在多个事务方法互相调用的情况下,如何管理这些事务的提交和回滚。Spring定义了7种事务传播行为,分别是:
1. REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。
2. SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
3. MANDATORY:强制必须存在当前的事务,如果不存在,则抛出异常。
4. REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。
5. NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6. NEVER:以非事务方式执行操作,如果当前存在事务,则抛出异常。
7. NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则新建一个事务。嵌套事务是独立提交或回滚的,它不受外部事务的影响,但是它的提交需要等到外部事务提交后才会生效,而它的回滚不会影响外部事务。
阅读全文