def book = Book.get(1)
book.lock()
lock
目的
lock
方法使用 SQL select … for update
获取悲观锁。
示例
描述
lock
方法在实例上获取悲观锁,通过 select … for update
锁定数据库中的行。lock
方法等同于使用 Hibernate 的 LockMode.UPGRADE 和 https://docs.jboss.net.cn/hibernate/orm/current/javadocs/org/hibernate/Session#lock(java/lang/Object, org/hibernate/LockMode).html[lock] 方法的结合。
锁会在事务提交后自动释放。在 Grails 中,这通常是在动作执行完成后。
有关详细信息,请参阅用户指南中有关乐观和悲观锁定的部分。