(快速参考)

lock

目的

lock 方法使用 SQL select …​ for update 获取悲观锁。

示例

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

描述

lock 方法在实例上获取悲观锁,通过 select …​ for update 锁定数据库中的行。lock 方法等同于使用 Hibernate 的 LockMode.UPGRADEhttps://docs.jboss.net.cn/hibernate/orm/current/javadocs/org/hibernate/Session#lock(java/lang/Object, org/hibernate/LockMode).html[lock] 方法的结合。

锁会在事务提交后自动释放。在 Grails 中,这通常是在动作执行完成后。

有关详细信息,请参阅用户指南中有关乐观和悲观锁定的部分。