Doctrina 2: grupo por alias de campo (Error: '...' no apunta a una Clase).

Tengo esta consulta de Doctrina:

        select upper(substring(e.name, 1, 1)) first_letter
        from Application\Models\Exercise e
        group by first_letter
        order by first_letter asc

Pero arroja una excepción con el mensaje:

Error: 'first_letter' does not point to a Class. 

Si dejo fuera elgroup by y elorder by, funciona.

¿Tengo que usar una consulta nativa en este caso o ordenar y agrupar en mi código de cliente (probablemente no sea una buena idea dependiendo de la cantidad de datos en la base de datos ...) o es posible que esta consulta funcione ?

¡Gracias!

EDITAR:

Este es mi enfoque actual, no tan agradable, pero funciona por el momento, ya que no hay muchos datos en la base de datos:

    $tmpResult = $this->getEntityManager()->createQuery('
        select upper(substring(e.name, 1, 1)) first_letter
        from Application\Models\Exercise e
    ')->getResult();

    $groupedAndSortedResult = array();

    foreach($tmpResult as $row) {
        $groupedAndSortedResult[$row['first_letter']] = $row['first_letter'];
    }

    sort($groupedAndSortedResult);

    return array_values($groupedAndSortedResult);

Respuestas a la pregunta(3)

Su respuesta a la pregunta