2

假设我的应用程序中有这两个类:

 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]
}

一些非常基本的东西。我想在用户字段的 Company 类中进行约束。我不会在同一家公司拥有两个具有相同姓名地址和电话的用户。

我应该能够为不同的公司添加具有这三个匹配字段的另一个用户。而且,名称是一个可为空的字段,因此我应该能够为同一个公司 ID 的名称为空的相同地址和电话拥有几条记录。

有人可以帮我定义这样的约束吗?

4

1 回答 1

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]
}
于 2013-04-10T11:55:21.673 回答