假设我的应用程序中有两个类:
class User
{
static belongsTo = [company: Company]
Address address
Phone phone
String name
Integer salary
Date birthDate
}
和
class Company {
Boolean active = false
static hasMany = [users: User]
}
非常基本的东西。 我想在用户字段的公司类中进行约束。我不会在同一家公司拥有两个同名地址和电话的用户。
我应该能够为另一家公司添加另外三个匹配字段的用户。而且,name是一个可以为空的字段,所以我应该能够为同一个公司ID提供一些具有相同地址和电话的记录,名称为null。
有人可以帮我定义这样的约束吗?
答案 0 :(得分:2)
看看这是否是您要找的,但请确保您的公司先保存。
Company.withTransaction {
def compnay= new Company (active:true)
company.save(flush:true)
def user = new User (...)
compnay.addToUsers(user)
}
/
class User
{
static belongsTo = [company: Company]
Address address
Phone phone
String name
Integer salary
Date birthDate
static constraints = {
name unique: ['company','address','phone']
}
}
/
class Company {
Boolean active = false
static hasMany = [users: User]
}