[英]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.