Cómo ORDENAR POR CASO en Doctrine2 (Symfony2)

Quiero ejecutar esta consulta usando Doctrine en Symfony 2.3. Pero parece que Doctrine no entiende la sentencia CASE. ¿Alguien puede ayudar? ¡Gracias de antemano!

SELECT max(id) id, name
FROM cards
WHERE name like '%John%'
GROUP BY name
ORDER BY CASE WHEN name like 'John %' THEN 0
           WHEN name like 'John%' THEN 1
           WHEN name like '% John%' THEN 2
           ELSE 3
      END, name

Respuestas a la pregunta(3)

Su respuesta a la pregunta