JPA Critères, sélectionner tous les cas avec des valeurs maximales dans leurs groupes

Est-il un moyen d'écrire avec JPA 2 CriteriaBuilder l'équivalent de la requête suivante?

select * from season s1
where end = (
    select max(end)
    from season s2
    where s1.contest_id=s2.contest_id
);

En JPQL cette requête est:

Select s1 from Season s1 
where s1.end = (
    select max(s2.end)
    from Season s2
    where s1.contest=s2.contest
)

OriginalL'auteur Ivan Sopov | 2013-01-18