我已閱讀文章Locking and Concurrency in Java Persistence 2.0,並運行示例應用程序。但我仍然無法意識到PESSIMISTIC_READ和PESSIMISTIC_WRITE之間的區別。我試圖修改代碼,以及使用PESSIMISTIC_READ和PESSIMISTIC_WRITE的代碼的結果與SQL將用「for update」調用的結果相同。
假設我在做這樣的事情(從Active Record Querying guide) Item.transaction do
i = Item.first(:lock => true)
i.name = 'Jones'
i.save
end
是鎖在事務結束時自動釋放?我查看了Active Query指南和ActiveRecord::Locking::Pessimi