use*_*434 7 java database jdbc optimistic-locking pessimistic-locking
我知道乐观和悲观锁定是什么,但是当你编写java代码时,你是如何做到的?假设我使用Oracle和Java,我在JDBC中有任何方法可以帮助我做到这一点吗?我该如何配置这个东西?任何指针将不胜感激.
And*_*nko 12
您可以用这种方式在数据库表中实现乐观锁(这是在Hibernate中完成乐观锁定的方式):
您的更新应该是这样的
UPDATE mytable SET name = 'Andy', version = 3 WHERE id = 1 and version = 2
Run Code Online (Sandbox Code Playgroud)
当然,这种机制只有在所有各方都遵循它的情况下才有效,这与DBMS提供的无需特殊处理的锁相反.
希望这可以帮助.
假设我将 Oracle 与 Java 结合使用,JDBC 中是否有任何方法可以帮助我做到这一点?
这篇 Oracle 论文应该为您提供一些有关如何执行此操作的提示。
没有特定的 JDBC 方法。相反,您可以通过设计 SQL 查询/更新以及放置事务边界的位置来实现乐观锁定。