(快速參考)

lock

目的

lock 方法使用 SQL select …​ for update 取得悲觀鎖定。

範例

def book = Book.get(1)
book.lock()

說明

lock 方法取得實例的悲觀鎖定,使用 select …​ for update 鎖定資料庫中的列。lock 方法等同於結合使用 Hibernate 的 LockMode.UPGRADEhttp://docs.jboss.org/hibernate/orm/current/javadocs/org/hibernate/Session#lock(java/lang/Object, org/hibernate/LockMode).html[lock] 方法。

當交易提交時,鎖定會自動解除。在 Grails 中,這通常是在動作執行完畢後。

請參閱使用者指南中關於 樂觀和悲觀鎖定 的章節,以取得相關資訊。