首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回null的GPars锁

返回null的GPars锁
EN

Stack Overflow用户
提问于 2012-12-25 02:08:28
回答 1查看 90关注 0票数 3

当我试图锁定表中的一行时,有时会返回null。那是什么意思?我在锁之前验证域实例不是null:

代码语言:javascript
复制
println state
state = State.lock(state.id)
println state

这将输出以下内容:

代码语言:javascript
复制
State 1
null

("State 1“是state的字符串表示)

EN

回答 1

Stack Overflow用户

发布于 2013-05-05 08:02:22

通过这样做,您将从GORM乐观锁(在更新之前比较对象的版本)切换为悲观锁,这意味着读操作将被阻塞,直到锁被释放。如果要检索值,请使用下面的闭包(请参阅方法returnValue):

代码语言:javascript
复制
State.withPessimisticLock(state.id) { Object lockedDomain ->
return "OK"
}.onNotFound { ->
    return "NG"
}
assert result.returnValue == "OK"

顺便说一句,事务是必需的,所以在您的问题中返回的null可能意味着您的对象在事务之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14024436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档