Se você estiver usando createQueryBuilder, poderá usar como
$query->addSelect("(CASE WHEN name like 'John %' THEN 0 WHEN name like 'John%' THEN 1 WHEN name like '% John%' THEN 2 ELSE 3 END) AS HIDDEN ORD "); $query->orderBy('ORD', 'DESC');
Observe que você deve ter "ESCONDIDO".
Você também pode fazer com a consulta nativa da doutrina.