建议事物手动控制。
Spring Transactional
@Transactional 加于private方法, 无效
@Transactional 加于未加入接口的public方法, 再通过普通接口方法调用, 无效
@Transactional 加于接口方法, 无论下面调用的是private或public方法, 都有效
@Transactional 加于接口方法后, 被本类普通接口方法直接调用, 无效
@Transactional 加于接口方法后, 被本类普通接口方法通过接口调用, 有效
@Transactional 加于接口方法后, 被它类的接口方法调用, 有效
@Transactional 加于接口方法后, 被它类的私有方法调用后, 有效
ervice方法直接调用了本类的一个方法(没有通过接口调用),该方法上的事务将不会生效。
但是可以捕获异常手动回滚 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
博客主要围绕Spring Transactional展开,介绍了@Transactional注解在不同方法(private、public)及调用场景(本类普通接口方法直接调用、通过接口调用、它类接口方法调用等)下的事务生效情况,还提到service方法直接调用本类方法事务不生效时可手动回滚。
173万+

被折叠的 条评论
为什么被折叠?



