Ich bin mit einem einfachen Problem stecken; kämpfen, wie order by
auf einer join
Ed-Einheit aufgerufen wird. Ich versuche, die folgenden mit JPA Criteria
zu erreichen im Wesentlichen:JPA Criteria Query API und Bestellung von zwei Spalten
select distinct d from Department d
left join fetch d.children c
left join fetch c.appointments a
where d.parent is null
order by d.name, c.name
Ich habe folgendes:
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Department> c = cb.createQuery(Department.class);
Root<Department> root = c.from(Department.class);
Fetch<Department, Department> childrenFetch = root.fetch(
Department_.children, JoinType.LEFT);
childrenFetch.fetch(Department_.appointments, JoinType.LEFT);
c.orderBy(cb.asc(root.get(Department_.name)));
c.distinct(true);
c.select(root);
c.where(cb.isNull(root.get(Department_.parent)));
Wie erreichen order by d.name, c.name
mit Criteria API
? Ich habe es mit Expression, Path versucht, aber nicht funktioniert. Alle Hinweise werden sehr geschätzt.
Wie ist das eine Antwort für Problemautor beschrieben? – ByeBye
Warum denkst du es nicht? Er wollte wissen, wie man nach mehreren Eigenschaften sortiert. Meine Antwort enthält, wie man das macht ... Vermisse ich etwas? – Adamsan
Da es nicht mit distinct und Sortieren nach Eigenschaft von Join-Tabelle funktioniert – ByeBye