Ответ 1
По умолчанию выбрано исключение.
Метод save()
, введенный в класс Domain, возвращает false
, если во время фазы проверки произошла ошибка.
Классический пример кода для проверки сохранения/обновления класса домена:
if (!myDomainObj.save()) {
log.warn myDomainObj.errors.allErrors.join(' \n') //each error is an instance of org.springframework.validation.FieldError
}
Если для определенного класса домена требуется исключение, используйте:
myDomainObj.save(failOnError: true)
и будут исключены исключения для отказов проверки.
Если вы хотите выбросить исключение для КАЖДЫХ классов домена, просто установите grails.gorm.failOnError
в true
в grails-app/conf/Config.groovy
Будьте осторожны: все свойства домена имеют неявное ограничение nullable: false
.
Я рекомендую вам читать эту статью.