Order by more than one property in criteria builder's params
- Lenguaje dominante
- Groovy
- Estrellas
- 2.9k
- Forks
- 975
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 92
Descripción
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
```
Guía de contribución
Línea de trabajo
Empieza en la línea 1615 de org.grails.orm.hibernate.query.AbstractHibernateCriteriaBuilder y reproduce la ClassCastException con el ejemplo de Criteria builder del issue. Compara el manejo de parámetros con el comportamiento de Dynamic Finder; se considera terminado cuando Criteria y Detached Criteria acepten múltiples propiedades de ordenación en el orden mostrado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100