SELECCIONE DISTINCT + ORDER BY en JPA 2 Criteria API

Tengo una claseLawsuit, que contiene unList<Hearing>, cada uno con unDate atributo.

Necesito seleccionar todos losLawsuits ordenado por la fecha de suHearings

Tengo una CriteriaQuery como

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

yo suelodistinto para aplanar los resultados:

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

entonces younirse Lawsuit conHearing

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

crearPredicates

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

yOrders:

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

Todo funciona bien si evitodistinct, pero si lo uso, se queja de no poder ordenar en función de los campos que no están en SELECT:

Causado por: org.postgresql.util.PSQLException: ERROR: forSELECT DISTINCT, ORDER BY las expresiones deben aparecer en la lista de selección

losList<Hearing> ya es accesible a través delLawsuit las clases regresaron, así que estoy confundido:¿Cómo debo agregarlos a la lista de selección?

Respuestas a la pregunta(2)

Su respuesta a la pregunta