Grails域类:多列的唯一约束

时间:2011-09-28 12:44:07

标签: grails orm unique-constraint grails-domain-class grails-validation

假设一个简单的Grails域类:

class Account {
    String countryId;

    String userName;

    String password;

    static constraints = {
        ...???...
    }
}

要求用户名对于特定的 countryId 是唯一的,因此在两列上必须有唯一约束。如何在约束定义中表达这一点?

1 个答案:

答案 0 :(得分:83)

userName(unique: ['countryId'])

您可以在数组中包含尽可能多的其他属性,这些属性构成必须在用户名的“唯一”约束中考虑的其他属性。

因此,例如,如果您想在userNamecountryId中使provinceId成为唯一,那么它将如下所示:

userName(unique: ['countryId', 'provinceId']