在@Transactional中添加rollbackfor = Exception.Class


@Transactional只能回滚RuntimeException 和 RuntimeException 的子类抛出的异常,不能回滚Exception异常。

推荐大家使用@Transactional(rollbackFor = Exception.class)的场景

  • 如果需要支持回滚Exception
  • 如果是增删改查

使用@Transactional(rollbackFor = Exception.class)一些无效的场景

  • 未修改 public
  • try catch 捕获异常(catch 中没有手动抛出异常)
  • 没有@Service添加(即不被Spring管理)