springocommit =在春季交易期间为真

时间:2017-01-13 15:19:07

标签: java spring jdbc

尝试了解交易...我在方法中使用了Spring的JdbcTemplate@Transactional注释。尽管事务在方法执行期间处于活动状态(由日志和TransactionSynchronizationManager.isActualTransactionActive())指示,但自动提交似乎也已打开(如jdbcTemplate.getDataSource().getConnection().getAutoCommit())所示)。

我不理解两件事

  • 是不是jdbc事务关闭自动提交并在代码块结束时手动提交的想法?是不是春天的交易经理应该在幕后做这样的事情?
  • 如果确实启用了自动提交:如果对数据库的一次修改成功,并且后续的一次修改失败,那么Spring如何能够回滚先前的更改(尽管有自动提交值,它会做什么)?

1 个答案:

答案 0 :(得分:1)