在Grails域类上为delete()添加逻辑的最佳方法是什么?

Dav*_*ker 3 grails grails-orm

当删除特定域类的实例时,我需要更改其他域类.做这个的最好方式是什么?我不想等到提交或刷新,所以我不认为"beforeDelete"回调会有所帮助.我想"覆盖"删除,做一些事情并调用super.delete():

class Foo {
    Bar bar
    void delete() {
        if (bar) bar.foo = null
        super.delete() -- this doesn't work
    }
}
Run Code Online (Sandbox Code Playgroud)

目前我已经命名为"删除"取消,但想称之为"删除",但后来我无法调用原来的delete().

Ove*_*ous 5

要添加@sbglasius所说的内容,这里是GORM事件文档链接

完整的例子:

class Foo {
    Bar bar

    def beforeDelete() {
        if(bar) {
            bar.foo = null
        }
    }
}
Run Code Online (Sandbox Code Playgroud)