代码之家  ›  专栏  ›  技术社区  ›  Alexander Suraphel

Grails GORM:在beforeUpdate上更新关联对象的属性未持久化

  •  0
  • Alexander Suraphel  · 技术社区  · 6 年前

    我有一个域类,如:

    class X {
        String name
    
        Y y 
    
        def beforeUpdate() {
            y.name = "new name"
            y.save() //DOESN'T work, adding flush: true throws exception
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Sami Hult    6 年前

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

    如果 更新前

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

    我认为save方法返回null(failure),这是强制为false的。