乐观锁
By:ecoolper<crskyp@gmail.com>

乐观锁

Top

在多用户环境中,在同一时间可能会有多个用户更新相同的记录,会产生冲突,解决方案有两种:乐观锁、悲观锁。悲观锁在这里不讲,自行Google。乐观锁假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性,不完整则更新失败。

乐观锁实现方式

Top

Nutz实现方式

Top

代码片段

Top
public class Pet {
    	@Name
    	private String name;
    	@Column
    	private int age;
    	@Column(value="version")
    	private int version;
}

// 执行更新
dao.updateWithVersion(pet);
// 实际执行的SQL
update table set age=?,version=version+1 where name=? and version=?