当我试图锁定表中的一行时,有时会返回null。那是什么意思?我在锁之前验证域实例不是null:
println state
state = State.lock(state.id)
println state这将输出以下内容:
State 1
null("State 1“是state的字符串表示)
发布于 2013-05-05 08:02:22
通过这样做,您将从GORM乐观锁(在更新之前比较对象的版本)切换为悲观锁,这意味着读操作将被阻塞,直到锁被释放。如果要检索值,请使用下面的闭包(请参阅方法returnValue):
State.withPessimisticLock(state.id) { Object lockedDomain ->
return "OK"
}.onNotFound { ->
return "NG"
}
assert result.returnValue == "OK"顺便说一句,事务是必需的,所以在您的问题中返回的null可能意味着您的对象在事务之外。
https://stackoverflow.com/questions/14024436
复制相似问题