繁体   English   中英

锁定选择以进行更新,但不锁定常规选择

[英]lock select for update but don't lock regular select

我正在实现一个区分SELECT ...SELECT ... FOR UPDATE

常规的SELECT ...用于读取允许处于“不正确”状态的实体(不正确=可能在此后更新)

SELECT ... FOR UPDATE总是用于读取目标对象并对其进行编辑,因此它应返回该对象的正确状态。

现在,我尝试执行以下操作:每当SELECT ... FOR UPDATE语句读取一个对象时,请锁定同一对象上的其他SELECT ... FOR UPDATE查询。 但是,常规的SELECT ...仍然应该起作用。

有什么方法可以通过仅使用预定义的锁来做到这一点? 我查看了数据库隔离级别,但我认为它们不是我的问题的一部分。

我正在使用java,hibernate和sql数据库。

选择更新不会在MySQL中锁定。 它曾在Oracle,Postgres,MS SQL中工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM