SELECT S FROM Shirt S ORDER BY (CASE S.size WHEN 'XS' THEN 1
WHEN 'S' THEN 2
WHEN 'M' THEN 3
WHEN 'L' THEN 4
WHEN 'XL' THEN 5
WHEN '2XL' THEN 6
END);
Да, да, типа того. Но утрамбовать в критерию, места для hql нет и, кроме сортировки билдер ещё условий гору цепляет