apache / apache/grails-core

Order by more than one property in criteria builder's params

Abierto
#14,653 1 comentario 0 reacciones 0 asignados Ver en GitHub
relates-to: gorm
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.