Grails 有许多删除行为

Grails hasMany delete behavior

我有 2 个域 类

class A {
   static hasMany = [ b : B ]
}

class B {
   static belongsTo = A
}

我想保留级联保存,所以当我保存 A 时,它会更新 B,但是当我删除 A 时,如果存在与该 A 关联的任何 B,我希望它失败. 所以你必须首先明确删除所有 B。

我不确定在 Grails 中执行此操作的最简单方法。我可以在删除 A 之前检查它以验证没有 B - 足够简单。但是有没有办法通过级联或关系行为来控制它,这样我就不必把逻辑放在那里了?

指定集合的​​级联行为

class A {
   static hasMany = [ b : B ]

   static mapping = {
        b cascade: 'save-update'
    }
}

它会级联保存和更新但不会删除。