我有简单的代码覆盖show()
子类中的RestfulController
方法。以下代码改编自Grails 2.5.4文档中的“Implementing the 'show' action”示例。
def show() {
Coupons instance = Coupons.findByCode(params.code)
print("instance: ${instance}")
if (instance == null) {
render status: 404
}
else {
return instance
}
}
如果在数据库(MongoDB)中找不到匹配的文档,print
语句将按预期指示null
个对象。
instance: null
找到匹配的文档 时,print
语句将打印以下内容。
instance: com.example.Coupons: (unsaved)
我的问题是,当找到文档时,为什么它会回到这个“未保存”的状态?更重要的是,当对象肯定存在时,为什么条件instance == null
会评估为true
?
答案 0 :(得分:0)
问题似乎是我的域类中存在transients
。从我的域类中删除transients
列表似乎已经解决了问题。