Как проверить поля класса домена при обновлении в Grails - PullRequest
0 голосов
/ 30 октября 2009

Существует класс домена с натуральным ключом, который определен ниже

class InterestGroup {
String intGrp
String name

static constraints = {
    intGrp(blank: false, maxSize: 4, unique: true)
    name(blank: false, minSize: 10, maxSize: 50)
}

static mapping = {
    id generator: "assigned", name: "intGrp", type: 'string'
}

String toString() { "${intGrp}"} 
}

Я пытаюсь изменить стандартные леса, чтобы внести возможные изменения в поле имени. В стандартном коде вызывается метод save (), который проверяет все поля, и, конечно, запись не может быть обновлена, поскольку существует запись с тем же ключом. Когда я просто присваиваю значение поля

interestGroupInstance.name = params?.name

имя обновлено, но не проверено на соответствие классу домена. Каков наилучший способ реализовать работу CRUD с таблицами на основе естественных ключей? С наилучшими пожеланиями Krzysiek

1 Ответ

0 голосов
/ 06 ноября 2009

Не думаю, что понимаю тебя. Что ты пытаешься сделать? Вы пытаетесь обновить название своей группы, и она, кажется, не делает никакой проверки?

В справочной документации говорится: «Метод save сообщает контексту постоянства, что экземпляр должен быть сохранен или обновлен . Метод save возвращает ноль, если проверка не удалась , а экземпляр не сохранен и сам экземпляр в случае успеха. " Поэтому при вызове методов сохранения для вашего объекта класса домена должен вызываться метод validate.

Не могли бы вы опубликовать пример?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...