Grails GORM:无法在beforeUpdate上更新关联对象的属性

时间:2018-09-17 09:35:23

标签: grails gorm grails-2.0

我有一个域类,例如:

class X {
    String name

    Y y 

    def beforeUpdate() {
        y.name = "new name"
        y.save() //DOESN'T work, adding flush: true throws exception
    }
}

1 个答案:

答案 0 :(得分:1)

beforeUpdate事件在刷新期间发生,因此您无法触发另一次刷新。 (如果这样做,将导致堆栈溢出。)

如果beforeUpdate返回false,它将取消保存。我建议您尝试以下操作:

def beforeUpdate() {
    y.name = "new name"
    return true
}

我相信save方法返回的是null(失败),该值被强制为false。