gpt4 book ai didi

java - 属性的值无法在 beforeInsert() 内更新

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:52 24 4
gpt4 key购买 nike

我有一个 Grails 2.2.1 项目,其域名名为“Question”。在此域中,beforeinsert() 目前如下所示:

def beforeInsert() {
dateCreated = new Date()
dateModified = new Date()
}

如果此值是从 Controller 传递的,我想更新dateCreated,如果不是,则按原样允许。这是我的修改,但不幸的是它不起作用:

def beforeInsert() {
dateCreated = dateCreated ? dateCreated : new Date()
println dateCreated
dateModified = new Date()
}

尽管 println 打印更新的 dateCreated 值,但当数据插入数据库时​​,dateCreated 字段每次都会获取当前时间戳的值。任何帮助表示赞赏:)

最佳答案

自动为您设置 dateCreated 的原因是 autoTimestamp 的默认行为。默认情况下,当域类中存在属性 dateCreated 时,Grails 将为您设置该值。

您可以禁用此默认行为,如下所示:

class Book {

static mapping = {
autoTimestamp false
}
}

您可能想查看documentation也是如此。

关于java - 属性的值无法在 beforeInsert() 内更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com