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