【问题标题】:grails when does ID get assigned?grails 什么时候分配ID?
【发布时间】:2011-11-29 05:02:12
【问题描述】:

我正在执行 myDomainObject.save(flush: true),然后尝试在下一条语句中读取分配给 myDomainObject 的 id,我得到一个“null”值。

我的应用程序需要使用此 ID 作为发票 #(通过服务发送),因为我可以获得新 ID。

我的问题是,我需要做些什么才能尽可能轻松/高效地获取分配的 ID 值?

谢谢

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    它应该在保存完成后立即出现。事实上,在单元和集成测试中,断言 id 不为空是一个好主意,因为它是持久性操作成功的简单测试。确定保存成功吗?

    查看http://www.grails.org/doc/latest/ref/Domain%20Classes/save.html

    了解如何确定错误。特别是带有

    的部分
    if( !b.save() ) {
       b.errors.each {
            println it
       }
    }
    

    【讨论】:

    • 谢谢 - 我正在检查 - 并寻找机制/闭包以打印出域类(gsp之外)的所有错误:-)
    • 我明白了:-)。那些在哪里? :-)(我正在使用 Intellij 进行开发,但显然智能部分还没有警告我!):-)
    • 无论您从哪里运行 grails run-app。我的答案现在包含指向文档的链接,这些链接向您展示了如何打印错误。
    • 非常感谢。我不认为我有任何会失败的约束,但我确实添加了一个 dateUpdated 和 dateCreated 字段,但这是失败的:字段 'dateUpdated' 上的对象 'b' 中的字段错误:拒绝值 [null];嗯。
    • 是的,非常感谢您的帮助,它应该是最后更新的
    猜你喜欢
    • 2021-09-10
    • 2022-11-28
    • 2012-08-13
    • 2015-01-22
    • 2011-11-20
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多