rest - Grails(未保存)==来自动态查找器的null

标签 rest grails gorm

我有覆盖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

最佳答案

看来问题是域类中存在transients。从我的域类中删除transients列表似乎已经解决了该问题。

关于rest - Grails(未保存)==来自动态查找器的null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691193/

相关文章:

Grails 与 Comet 工作示例

hibernate - GORM domain.delete(flush:true)不触发HibernateException或其他反馈?

mongodb - Grails GORM + Mongo,如何将自定义数据保存到ID?

java - 使用 HTML5 文件 API 将文件上传到 RESTful Web 服务

java - 如何在 Spring Boot 中使用显式指定的编码器

grails - 如何在gsp中引用静态常量?

grails - 我们可以在Grails的服务中获取 Controller 的实例吗

web-services - 将 tomcat 上的 RESTful 端点限制为本地 webapp

ruby - 使用 Rally Rest API 进行 CRUD 操作

grails - Grails集成测试图