2012-02-14 9 views
5

La siguiente consulta griales va a limitar el número de resultados a 3 y luego ordenar los de Identificación:En un GORM findBy * consulta, ¿cómo puedo usar "tipo" antes de limitar el uso de "max"

def results = Domain.findAllByFoo(foo, [sort: 'id', order: 'desc', max: 3])

así que esto volverá identificadores de 1 a 3, y luego revertir su orden, para que

results*.id == [3,2,1]

¿hay una manera de ordenar primero, y después de límite, de modo que

results*.id == [99,98,97]

Mi solución actual es la siguiente:

if (results.size() > max) results = results[0..<max]

+0

¿Estás seguro de que 'findAllBy' se ordena después del límite? ¿Qué base de datos usas? –

+0

hmmm, lo encontré en una prueba unitaria. podría ser un error en la nueva base de datos de prueba de burla de la base de datos? – c089

+0

¿Puedes poner el sql generado por ese HQL? Estamos utilizando hql similar en nuestro proyecto y funciona bien. BTW: escribimos un caso de prueba de integración para probar esta funcionalidad – Saurabh

Respuesta

Cuestiones relacionadas