【发布时间】:2015-02-09 19:34:33
【问题描述】:
如果我们在休眠中开始事务,然后执行一些事务但不提交,会发生什么? 它会临时保存还是立即回滚?
谢谢 车坦
【问题讨论】:
-
我觉得你可以自己试试,对吧?
-
除非您提交,否则数据库不会发生任何更改。
-
每个事务都会有一定的空闲时间将操作数据存储在堆内存中。如果不采取任何行动,一旦到达空闲时间,它将被销毁。
-
它还取决于事务类型和 DBMS。我遇到过这样一种情况,即到 Oracle 数据库的分布式事务被中断(服务器被残忍地关闭),导致事务在数据库端保持“打开”状态,直到管理员强行附加它——一直锁定涉及的表。
-
Jonjongot - 是的,我试过了。遇到了 Gimby 解释的一些疯狂场景。一般如果发生这种情况(由于代码错误或其他原因),解除锁定的理想解决方案是什么???
标签: java database hibernate orm