Order by more than one property in criteria builder's params
- Vorherrschende Sprache
- Groovy
- Sterne
- 2.9k
- Forks
- 975
- Ø Merge
- 1 T. 22 Std.
- Gemergte PRs (30 T.)
- 92
Beschreibung
Sort parmeter in param map for Criteria builder doesn't work the same way as in Dynamic Finders. In dynamic finder we could do this:
```
Author.findAllByNameLike("A%", [sort: [name: "desc", id: "asc"]])
```
If we try to do the same for Criteria builder or with Detached Criteria:
```
Author.createCriteria().list(sort: [name: "desc", id: "asc"]) {
like 'name', "A%"
}
```
The ClassCastException will be thrown:
```
java.util.LinkedHashMap cannot be cast to java.lang.String. Stacktrace follows:
Message: java.util.LinkedHashMap cannot be cast to java.lang.String
Line | Method
->> 1615 | invokeMethod in org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
```
Beitragsleitfaden
Rechercherichtung
Beginnen Sie bei Zeile 1615 von org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder und reproduzieren Sie die ClassCastException mit dem Criteria-builder-Beispiel aus dem Issue. Vergleichen Sie die Parameterbehandlung mit dem Verhalten von Dynamic Finder; abgeschlossen ist die Aufgabe, wenn Criteria und Detached Criteria mehrere Sortiereigenschaften in der gezeigten Reihenfolge akzeptieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100