Spring之事务的传播行为
枚举
public enum Propagation {
REQUIRED(0),
SUPPORTS(1),
MANDATORY(2),
REQUIRES_NEW...,于是就新建一个事务,以事务的方式运行
误区:xxxBalance没有事物,给xxxBalance新建一个事务,将addBalance加入到xxxBalance中
SUPPORTS
存在事务,则加入当前事务...,则挂起该事务,创建一个新事务,不存在也会新建一个。...,把xxxBalance的事务挂起(事务并没有提交或者回滚),addBalance新开了一个事务,但是更新的是同一行数据,导致addBalance的事务拿不到锁....,则在嵌套事务中执行,否则REQUIRED的操作一样(开启一个事务)
谁抛出异常谁回滚,如果不try addBalance的异常会传到xxxBalance导致xxxBalance也回滚
@Transactional