Hibernate中的锁是什么意思
1个回答
展开全部
你是说session.buildLockRequest(LockOptions.NONE/READ/UPGRADE).lock(Object entity);吗?
这句话整体上的作用是将指定的entity对象放入session对象的persistenceContext(简称PC)中去,打上MANAGED标记。
NONE和READ还有UPGRADE是三个LockOptions的选项。NONE表示将entity对象放入PC中的时候不会向数据库发出查询语句;READ选项表示将entity对象放入PC中的时候会同时向数据库发出select查询语句;UPGRADE表示将entity对象放入PC中的时候会向数据库发出select查询语句,而且,还会加上for update语句。
for update语句的作用是在查询的同时将数据锁住,其他人企图改变数据的时候就会进入等待状态,直到加锁的一方完成一次事务操作。我估计你说的锁是指这个吧。
这句话整体上的作用是将指定的entity对象放入session对象的persistenceContext(简称PC)中去,打上MANAGED标记。
NONE和READ还有UPGRADE是三个LockOptions的选项。NONE表示将entity对象放入PC中的时候不会向数据库发出查询语句;READ选项表示将entity对象放入PC中的时候会同时向数据库发出select查询语句;UPGRADE表示将entity对象放入PC中的时候会向数据库发出select查询语句,而且,还会加上for update语句。
for update语句的作用是在查询的同时将数据锁住,其他人企图改变数据的时候就会进入等待状态,直到加锁的一方完成一次事务操作。我估计你说的锁是指这个吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询