Ich erstelle derzeit eine komplexe Abfrage mit JPA CriteriaBuilder.
In dieser Abfrage schließe ich ein wenig Datenbanken. Jetzt brauche ich nur den letzten Eintrag einer verbundenen Tabelle. Aber ich weiß nicht, wo ich das in der Abfrage anwenden muss.JPA Criteria Query Builder: letzten Eintrag abrufen
Hier ist eine Dummy-Abfrage JPA:
private CriteriaQuery<Class2> getClass2Function {
CriteriaQuery<RootClass> cq = cb.createQuery(RootClass.class);
Root<RootClass> root = cq.from(RootClass.class);
Join<RootClass, Class2> class2 = root.join(RootClass_.class2Id);
ListJoin<Class2, Class3> class3 = class2.join(Class2_.listOfClass3);
List<Predicate> predicates = new ArrayList<>();
predicates.add(cb.isNull(class3.get(SomeModel_.dtDl)));
predicates.add(cb.isNull(class2.get(SomeModel_.dtDl)));
predicates.add(cb.isNull(root.get(SomeModel_.dtDl)));
return cq.select(class2).where(predicates.toArray(new Predicate[] {}))
.orderBy(cb.asc(class2.get(Class2_.id)));
}
Ich brauche jetzt nur den letzten Eintrag des ListJoin class3
, wie kann ich das tun?
Grüße
Was ist "letzter Eintrag"? letztes Element eines Listenfeldes? Stellen Sie die Entity-Klassen –
@NeilStockton Ja letztes Element einer Liste –
Lars