Класс домена Grails: уникальное ограничение для нескольких столбцов
Предположим, что простой класс домена Grails:
class Account {
String countryId;
String userName;
String password;
static constraints = {
...???...
}
}
Требуется, чтобы имена пользователей были уникальными для конкретной страны, поэтому в двух столбцах должно быть однозначное ограничение. Как это выразить в определении ограничений?
1 ответ
Решение
userName(unique: ['countryId'])
В массив можно включить столько же других свойств, которые составляют другие свойства, которые должны учитываться в "уникальном" ограничении имени пользователя.
Так, например, если вы хотели сделать userName
уникальный в пределах countryId
а также provinceId
это будет выглядеть так:
userName(unique: ['countryId', 'provinceId']