Como faço para classificar por uma propriedade em uma associação anulável no Grails?
Estou tentando classificar uma tabela de dados. Eu tenho o seguinte domínio (parafraseado e exemplo-ified):
class Car {
Engine engine
static constraints = {
engine nullable: true // poor example, I know
}
}
class Engine {
String name
}
Aqui está a ação do controlador que está lidando com o tipo:
def myAction = {
def list = Car.findAll(params)
render(view: 'list', model: [list: list])
}
Fornecemos alguns dados para que existam vários carros, alguns com motores nulos e outros com motores que não são nulo
Tento a seguinte consulta:
http://www.example.com/myController/myAction?sort=engine.name&order=asc
Os resultados da consulta retornam apenas entradas Car cujo mecanismo não é nulo. Isto édiferent dos resultados que seriam retornados se eu apenas consultasse a associação (sem sua propriedade):
http://www.example.com/myController/myAction?sort=engine&order=asc
que retornaria todos os resultados do carro, agrupando aqueles com motores nulo
Existe alguma maneira de que:
Posso obter a consulta que classifica pela propriedade de associação para retornar os mesmos resultados que a que classifica apenas pela associação (com as associações nulas agrupadas)? Consigo alcançar esses resultados usando a classificação interna passada paralist()
(ou seja, sem usar uma consulta Critérios ou HQL)