¿Cómo clasifico por una propiedad en una asociación anulable en Grails?

Estoy tratando de ordenar una tabla de datos. Tengo el siguiente dominio (parafraseado y de ejemplo):

class Car {
    Engine engine
    static constraints = {
        engine nullable: true // poor example, I know
    }
}

class Engine {
    String name
}

Aquí está la acción del controlador que maneja el tipo:

def myAction = {
    def list = Car.findAll(params)
    render(view: 'list', model: [list: list])
}

Proporciono algunos datos para que haya varios automóviles, algunos con motores nulos y otros con motores que no son nulos.

Intento la siguiente consulta:

http://www.example.com/myController/myAction?sort=engine.name&order=asc

Los resultados de la consulta solo devuelven entradas de automóvil cuyo motor no es nulo. Esto esdiferent de los resultados que se devolverían si solo consultara la asociación (sin su propiedad):

http://www.example.com/myController/myAction?sort=engine&order=asc

que devolvería todos los resultados de Car, agrupando los que tienen motores nulos juntos.

¿Hay alguna manera de que:

¿Puedo obtener la consulta que se ordena por la propiedad de asociación para devolver los mismos resultados que la que se ordena solo por la asociación (con las asociaciones nulas agrupadas)?Puedo lograr esos resultados utilizando la clasificación integrada que se pasa alist() (es decir, sin utilizar una consulta de Criterios o HQL)

Respuestas a la pregunta(1)

Su respuesta a la pregunta