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

标签 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
    }
}

最佳答案

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

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

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

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

关于grails - Grails GORM:无法在beforeUpdate上更新关联对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52364711/

相关文章:

grails - 属性上的Grails 3.3 GORM CriteriaBuilder函数

grails - 从grails中的grails链接中使用允许的方法删除一行

grails - 访问belongsTo或其他关系时,悲观锁定的行为是什么?

grails - Grails命名查询-通过关联查找

unit-testing - Grails 2.1.1-单元测试和模拟域类的元素

java - 如何在 list 中多次检入GSP Grails

grails - 如何使用键/值对表进行搜索?

grails - 从Excel文件导入后出现多个GORM ValidationException

grails - Grails和Tomcat重复 “java.lang.IllegalStateException: Cannot forward after response has been committed”错误

grails - UrlMapping到Grails中的静态文件