0

假设我们有这样的域层次结构:

class Category {
...
    static hasMany = [groups: Group]
...
}

class Group {
...
    static belongsTo = [category: Category]
    static hasMany = [items: Item]
...
}

class Item {
...
    Integer value
    static belongsTo = [group: Group]
...
}

Item类中的字段在一个Category中应该是唯一的。我们怎样才能做到这一点?

我尝试使用标准编写自定义验证器,但最后我得到一个“发生异常后不要刷新会话”休眠错误。有没有更好的方法来检查这个约束?

4

1 回答 1

2

嗯也许

class Item {
    ...
    Integer value
    static belongsTo = [group: Group, category: Category]
    static constraints = {group value: 'category'}
    ...
}

您还可以添加自定义验证器来检查父组是否属于同一类别。

没有测试它。

于 2013-09-09T11:06:51.890 回答