Suppose a simple Grails domain class:
class Account {
String countryId;
String userName;
String password;
static constraints = {
...???...
}
}
It is required that user names are unique for a particular countryId, thus there must be a unique contraint on two columns. How to express this in the constraints definition?
userName(unique: ['countryId'])
You can include as many other properties in the array that make up the other properties that must be considered in the "unique" constraint on the username.
So, for example if you wanted to make userName
unique within a countryId
and provinceId
it would look like this:
userName(unique: ['countryId', 'provinceId']
来源:https://stackoverflow.com/questions/7583380/grails-domain-class-unique-constraint-for-multiple-columns