Dans mon modèle de domaine, j'ai une méthode qui fait quelque chose avec mes données.Grails: utiliser la méthode de domaine dans la requête nommée
par exemple.
class Person { String lastname String firstname String bigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq(this.bigname(), name) } } }
Je veux utiliser cette méthode comme une propriété dans la requête nommée, mais
this.bigname()lancers francs seulement
java.lang.IncompatibleClassChangeError-Exception.
Est-ce que quelqu'un sait comment utiliser les méthodes de domaine dans les critères et les requêtes nommées?
Mise à jour: Je maintenant essayé ceci:
class Person { String lastname String firstname String bigname static transients = [ 'bigname' ] def getBigname() { return lastname.toUpperCase() } static namedQueries = { withBigname { name -> eq('bigname', name) } } }
Mais il en résulte que dans un "ne pouvait pas résoudre la propriété: bigname" -exception ...
Vous essayez d'interroger un champ transitoire, retirez le bigname String ou supprimer la méthode transitoire et getBigname pour permettre l'interrogation. Lisez les docs, il semble que vous n'avez pas une idée claire de l'utilisation transitoire. –