JDO 技术: JdoTransactionManager
分布式事务: JtaTransactionManager
Spring Boot 项目中, 引入了 spring-boot-starter-jdbc...如果我们项目有多个数据源, 或者既引入了 spring-boot-starter-jdbc, 又引入了 spring-boot-starter-data-jpa 依赖, 自动注入事务控制器就会混乱, 所以需要创建一个..., 调用 transactionStatus.setRollbackOnly() 可以回滚事务....所以: 主调函数如果是本Service类, 应该也要打上 @Transactional, 否则事务控制被忽略.
缺省的情况下, 只有 RuntimeException 类异常才会触发回滚....如果在事务中抛出其他异常,并期望回滚事务, 必须设定 rollbackFor 参数.