更正丢失问题的正确方案

时间:2015-10-18 09:58:02

标签: hibernate transactions

这是来自Java Persistence With Hibernate的丢失更新问题的描述

  

如果两个事务同时更新一行然后更新第二行,则会发生丢失更新   事务中止,导致两个更改都丢失。这发生在系统中   不要实现锁定。并发事务不是孤立的。

T1 - > 1.更新D1 - > 3.提交

T2 - > 2.更新D1 - > 4.回滚。 //数字表示操作顺序。

这里我的第一个问题是如何通过T2完成回滚来丢失T1所做的更改?

第二个问题是,我浏览了很多更新问题,我所获得的描述与同一本书中描述的第二个丢失更新问题匹配。

T1 - > 1.选择D1 - > 3.更新D1 - > 4.提交

T2 - > 2.选择D1 - > 5.更新D1 - > 6.提交

此处T1的更改将被T2的提交覆盖。

更新丢失的正确方法是什么? 如果我们考虑第一个场景,那么如何回滚事务1提交的更改?

0 个答案:

没有答案