我知道什么是乐观锁定和悲观锁定,但是当您编写Java代码时,该怎么做呢?假设我将Oracle与Java一起使用,JDBC中是否有任何方法可以帮助我做到这一点?我将如何配置这个东西?任何指针将不胜感激。
最佳答案
您可以通过这种方式在数据库表中实现乐观锁(这是在Hibernate中完成乐观锁的方式):
您的更新声明。验证更新后受影响的行数。
如果没有受影响的行-有人已经修改了您的条目。
您的更新应如下所示
UPDATE mytable SET name = 'Andy', version = 3 WHERE id = 1 and version = 2
当然,这种机制仅在各方都遵循时才有效,这与DBMS提供的不需要特殊处理的锁相反。
希望这可以帮助。