spring事务的传播性:
常量名称 | 常量解释 |
---|---|
PROPAGAPRTION_REQUIRED | 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择,也是spring默认的事务的传播。 |
PROPAGAPRTION_REQUIRES_NEW | 新建事务,如果当前存在事务,把当前事务挂起。新建的事务将和被挂起的事务没有任何关系,是两个独立的事务,外层事务失败回滚之后不能回滚内层事务执行的结果,内层事务失败抛出异常,外层事务捕获,也可以不处理回滚操作。 |
PROPAGAPRTION_SUPPORTS | 支持当前事务,如果当前没有事务,就以非事务方式执行。 |
PROPAGAPRTION_MANDATORY | 支持当前事务,如果当前没有事务,就抛出异常。 |
PROPAGAPRTION_NOT_SUPPORTED | 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 |
PROPAGAPRTION_NEVER | 以非事务方式执行,如果当前存在事务,则抛出异常。 |
PROPAGAPRTION_NESTED | 如果一个活动的事务存在,则运行在一个嵌套的事务中。如果没有活动事务,则按REQUIRED属性执行。它使用了一个单独的事务,这个事务拥有多个可以回滚的保存点。内部事务的回滚不会对外部事务造成影响。它只对DataSourceTransactionManager事务管理器起效。 |