SELECT DISTINCT + ORDER BY na API JPA 2 Criteria

Eu tenho uma aulaLawsuit, que contém umList<Hearing>, cada um com umDate atributo.

Eu preciso selecionar todas asLawsuits ordenados pela data de suaHearings

Eu tenho um CriteriaQuery como

CriteriaBuilder           cb = em.getCriteriaBuilder();
CriteriaQuery<Lawsuit>    cq = cb.createQuery(Lawsuit.class);
Root<Lawsuit>           root = cq.from(Lawsuit.class);

eu usodistinto para achatar os resultados:

cq.select(root).distinct(true);

Eu entãoJunte-se Lawsuit comHearing

Join<Lawsuit, Hearing> hearing = root.join("hearings", JoinType.INNER);

para criarPredicates

predicateList.add(cb.isNotNull(hearing.<Date>get("date")));

eOrders:

orderList.add(cb.asc(hearing.<Date>get("date")));

Tudo funciona bem se eu evitardistinct, mas se eu usá-lo, ele reclama de não poder fazer o pedido com base em campos que não estão no SELECT:

Causado por: org.postgresql.util.PSQLException: ERROR: forSELECT DISTINCT, ORDER BY expressões devem aparecer na lista de seleção

oList<Hearing> já está acessível através doLawsuit aulas retornaram, então estou confuso:como devo adicioná-los à lista de seleção?

questionAnswers(2)

yourAnswerToTheQuestion