虽然锁机制也是主要是为了防止脏数据,幻读,重复读这些bug,
NONE和READ还有UPGRADE是三个LockOptions的选项。NONE表示将entity对象放入PC中的时候不会向数据库发出查询语句;READ选项表示将entity对象放入PC中的时候会同时向数据库发出select查询语句;UPGRADE表示将entity对象放入PC中的时候会向数据库发出select查询语句,而且,还会加上for update语句。
for update语句的作用是在查询的同时将数据锁住,其他人企图改变数据的时候就会进入等待状态,直到加锁的一方完成一次事务操作。
如果安全级别很高就不需要,所以用到乐观锁很有必要这个要看你spring事务管理设置的具体的事务隔离级别是什么级别了,但一般情况下高级别的安全事务隔离往往会大大降低软件的执行效率,因为我们不可能将隔离级别设置的很高来牺牲数据库的并发执行效率,如果安全级别低,会出现并发修改问题那就还需要使用到hibernate的乐观锁
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....