Grails 调用addTo或removeFrom时对hasMany或callback的约束

Grails 调用addTo或removeFrom时对hasMany或callback的约束,grails,gorm,Grails,Gorm,当一个对象被添加到一个hasMany-关系(比如调用addTo或removeFrom)中时,有没有其他通用的方法来接收回调?不幸的是,在添加或删除对象时,不会调用beforeValidate,或者在删除或添加对象时,至少属性hasmanysys不是脏的。如果从ABC添加或删除对象,我需要执行一些操作 class ABC { List hasManyXYs static hasMany = [hasManyXYs: XY] } 我试图在列表中添加一个约束: class ABC {

当一个对象被添加到一个
hasMany
-关系(比如调用
addTo
removeFrom
)中时,有没有其他通用的方法来接收回调?不幸的是,在添加或删除对象时,不会调用
beforeValidate
,或者在删除或添加对象时,至少属性
hasmanysys
不是脏的。如果从
ABC
添加或删除对象,我需要执行一些操作

class ABC {
    List hasManyXYs
    static hasMany = [hasManyXYs: XY]
}
我试图在列表中添加一个约束:

class ABC {
    List hasManyXYs
    static hasMany = [hasManyXYs: XY]

    static constraints = {
        hasManyXYs(validator: {
            true
        }
    }       
}
但至少在grails版本2.0.5中,服务器没有启动,并出现如下错误:

No such property: hasManyXYs for class: XY
Possible solutions: hasManyXYs. Stacktrace follows:

“没有这样的属性:类:XY的hasmanyxy”。看起来您在某处有代码试图引用
XY
实例上的
hasmanysys
属性,该属性未在说明中显示。“当调用addTo或removeFrom时,是否有其他接收消息的通用方法?”我不理解这个问题,也不清楚这与约束有什么关系。谢谢您的反馈。我更新了这个问题,也许现在更清楚了?“没有这样的属性:hasmanyxy代表类:XY”。您是否有代码试图引用
XY
类上的
hasmanyxy
属性?这就是错误信息所暗示的。我不知道你的
XY
类看起来像什么,但它大概没有名为
hasmanyxy
的属性。看看这个类
ABC
,从问题中,列表显示在那里。正如我在上面说过的几次,错误消息表明,在
XY
的实例或
XY
类本身的某个地方可能有引用
hasmanyxy
属性的代码。是这样吗?这就是错误消息所暗示的。