spring的事务传播行为分七种,基本上见名知义。
名称 | 行为 |
---|---|
PROPAGATION_REQUIRED | 当前有事务就加到当前事务里,否则新开一个事务 |
PROPAGATION_REQUIRES_NEW | 当前有事务就挂起;之后新建一个事务 |
PROPAGATION_SUPPORTS | 当前有事务就加入当前事务 |
PROPAGATION_NOT_SUPPORTED | 当前有事务就挂起事务 |
PROPAGATION_NEVER | 当前有事务就抛出异常 |
PROPAGATION_MANDATORY | 当前没有事务就抛异常 |
PROPAGATION_NESTED | 当前有事务就在当前事务新开一个事务,并创建一个savepoint,事务会滚时,回滚到savepoint;当前没有事务就新开一个事务,类似PROPAGATION_REQUIRED |