请教:事务的完整性一般怎么实现?

    
chabulier
05-09-20 3 362

这几天我们的项目出现了一个Bug,不太容易修复,总结下来应该是早期架构或设计的问题。
下面我说一下现象出现的步骤,相信大家就明白了:
1.客户A停留在一个一览页面叫Page1;
2.客户B也停留在这个页面;
3.客户A删除了Page1里面的一条记录Record3;
4.客户B使用Record3去试行操作,结果系统错误。
因为Record3这条记录已经被删除了。

客户说这个系统使用的人很少可以不考虑这类问题,所以这个问题并没有去解决。
我是一个新手,想了几个办法(1.执行操作前先判断是不是还存在;2.字段加上最后更新时间,每次比较),但是不知道这类问题的现在的普遍的成熟的解决办法是什么?是不是可以用EJB解决?最好最简单的办法是什么?普遍的解决之道是什么?

想到一些银行系统应该对这些有着严格的要求,所以拜了先。。。

chabulier
2005-09-20 17:42

不知道这叫不叫并发控制?请赐教

banq
2005-09-20 17:42

这种现象一般在后台删除方法时捕获一下出错就可以,然后告诉B记录已经被删除。

如果你的业务上有要求:客户B在浏览Record3时,其他客户就不能对Record3进行修改或删除操作,也就是锁定Record3,那么就要求一个长事务了。

短事务一般指数据库连接打开和关闭这段事务。

chabulier
2005-09-21 09:10

谢谢BanQ,又长进了一步。我们的业务要求很低,不需要做长事务。