【发布时间】:2016-11-11 13:32:30
【问题描述】:
在我的 Grails 3.1.14 应用程序中,我有一个域类:
class MyDomain {
String text
def beforeInsert() { beforeUpdate() }
def beforeUpdate() {
text = changeTextBasedOnOtherFields()
println ">>> $text"
true
}
}
在控制器中,实例使用myDomain.save flush:true 保存。
问题是,text 属性被保存忽略了,尽管我可以在控制台中看到 println 的输出具有正确的值。
如果我将文本更改代码放在保存之前:
myDomain.text = changeTextBasedOnOtherFields()
myDomain.save flush:true
然后它就像魅力一样!
有什么办法可以解开这个谜团?
【问题讨论】:
-
巧合的是,我昨天在使用 Mongodb 的 Grail 3.1.9 中遇到了同样的问题。
-
我在 3.3.11 中也遇到了同样的情况
-
@corrego 在下面看到我的答案
标签: mongodb grails grails-orm interceptor