Используя 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

Единственная проблема, которая у меня есть, но, похоже, не проблема с решением, состоит в том, что дублирующее сообщение об ошибке теперь упоминает только первый атрибут в составном уникальном ограничении...

Другие вопросы по тегам