假设我们具有这样的域层次结构:
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中应该是唯一的。我们怎样才能做到这一点?
我尝试使用条件编写自定义验证器,但最终我收到了“发生异常后不要刷新Session”的休眠错误。有没有更好的方法来检查此约束?
最佳答案
嗯,也许
class Item {
...
Integer value
static belongsTo = [group: Group, category: Category]
static constraints = {group value: 'category'}
...
}
您也可以添加自定义验证器,以检查父组是否属于同一类别。
没有测试。
关于validation - Grails:域层次结构中的字段唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18687685/