连接关闭后的JDBC RollBack

时间:2016-10-09 22:11:31

标签: java sql jdbc transactions

假设连接已打开且自动提交设置为false以启动事务。在事务完成之后,我想回滚任何更改以使数据库进入我开始事务之前的状态。

我的问题是,在事务期间连接已关闭,因此所有更改都在那时提交。

有没有办法在初始事务开始之前回滚数据库的状态?

是的,我尝试过使用Savepoints无济于事。

1 个答案:

答案 0 :(得分:0)

这实际上取决于你正在做什么,为什么以及如何做。

  • 如果你有对交易的引用,你可以自己回滚。
  • 如果没有,你最后可以抛出异常吗?
  • 如果您想要测试的是什么,为什么不使用像H2这样的嵌入式数据库并且每次都从头开始?
  • 如果H2没有切断它,请查看testcontainers