Wenn Sie eine Projektion für die Eigenschaften verwenden, wird das Ergebnis als Liste mit den Elementen in derselben Reihenfolge zurückgegeben, die im Projektionsblock definiert wurde. Gleichzeitig fehlen die Property-Namen in der Liste und das ist für den Entwickler wirklich nachteilig, da das Ergebnis weitergegeben wird und der Aufrufer wissen muss, welcher Wert zu welcher Property gehört. Gibt es eine Möglichkeit, eine Karte aus der Kriterienabfrage mit dem Eigenschaftsnamen als Schlüssel für den Wert zurückzugeben?
also, der folgende Code:
%Vor%Dies gibt zurück:
%Vor%Stattdessen möchte ich es zurückgeben:
%Vor%Ich weiß, dass ich dies nach dem Ergebnis arrangieren kann, aber ich glaube ernsthaft, dass der Eigenschaftenalias von den Kriterien verwendet werden sollte, um eine Liste von Maps zurückzugeben, die das Ergebnis der SQL-Abfrage nachahmt, und keine fade Liste / p>
Duplizieren: Grails-Abfragen mit Kriterien: Wie bekomme ich eine Karte mit Spalte zurück?
Und die entsprechende Antwort (und Lösung): Ссылка
Verwenden Sie resultTransformer.
%Vor%Stimmen Sie Ihrer Argumentation zu, dies sollte wirklich Teil der GORM-Kernlösung sein. Das heißt, hier ist mein Workaround;
%Vor%Tags und Links grails gorm nhibernate-projections createcriteria