悲观锁 乐观锁的设置

悲观锁:从加载对象开始锁定。在提交之前这段时间,一直保持锁定状态,直到commit()提交后再解锁。

设置方法:

session.load(Info.class,"p003",LockOptions.UPGRADE);

乐观锁:在操作时,不做锁定,在提交时,进行冲突检测,将现在数据库中的内容与刚开始读的内容对照一下,如果内容不一致,就抛异常

乐观锁可以用两种方法设置:

1.在数据库中加一个字段version,在实体类中加一个属性version,映射文件中加<version name="version">     <version name="version"> 这个字段要放在id下面

每次提交时,自动会自动检查是否改变

2.修改数据时:update info set name=?,sex=?,nation=?,birthday=? where code=? and name=? and sex=? and nation=? and birthday=?

通过这样的方式,在修改时,确保不会出现冲突,如果数据发生改变,则不会对数据进行修改

原文地址:https://www.cnblogs.com/zhaotiancheng/p/6537856.html