我已阅读文章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