Используя convertEmptyStringsToNull=false только для определенных полей?
У меня есть класс домена, который имеет составное ограничение уникальности, где некоторые поля определены как "не нуль".
В этом доменном классе с этими полями я хотел бы установить
convertEmptyStringToNull = false
но только для этих 2 полей в этом доменном классе.
Причина в том, что уникальное ограничение должно работать, чтобы оно учитывало не только все поля ограничения, если все поля заполнены...
Это как-то возможно?
1 ответ
Решением было бы использование аннотации BindUsing от Grails >= 2.3
Пример:
@BindUsing({ obj, source -> source['parName2'].trim() })
String parName2
Это включает только функцию trim() в поле и подавляет функциональность stringToNull.
Вот Grails Jira Ticket с той же проблемой. и обсуждение здесь Grails User List
Единственная проблема, которая у меня есть, но, похоже, не проблема с решением, состоит в том, что дублирующее сообщение об ошибке теперь упоминает только первый атрибут в составном уникальном ограничении...