в моей модели домена, у меня есть метод, который что-то делает с моими данными.Grails: используйте метод домена в именованном запросе
например.
class Person { String lastname String firstname String bigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq(this.bigname(), name) } } }
Я хочу использовать этот метод как свойство в названном запросе, но
this.bigname()бросает только
java.lang.IncompatibleClassChangeError-Exception.
Кто-нибудь знает, как использовать методы домена в критериях и именованных запросах?
Update: Теперь я попытался это:
class Person { String lastname String firstname String bigname static transients = [ 'bigname' ] def getBigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq('bigname', name) } } }
Но это приводит только к "не может решить свойство: bigname" -exception ...
Вы пытаетесь запросить временное поле, удалить струнный bigname или удалить переходный и метод getBigname разрешить обработку запросов. Прочтите документы, похоже, у вас нет четкого представления о временном использовании. –