如果我有一个域 Person 和一个域 Hobby,并且 Person 有很多 Hobby,我如何确保同一个 Hobby 不会多次添加到 Person 集合中。
即类似的东西
`
class Hobby {
String name
static belongsTo = [person: Person]
}
class Person
String name
static hasMany =[hobby: Hobby]
static constraints= {
hobby.name unique: true //like this
}
}
最佳答案
我知道这个问题已经得到解答,但最简单的方法实际上是这样做:
class Hobby {
String name
static belongsTo = [person: Person]
static constraints = {
name unique: 'person'
}
}
这将确保爱好
对其父对象人
拥有唯一的名称。不需要自定义验证器。
关于Grails 对域列表的唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40911360/