Je suis en train de créer une requête complexe avec JPA CriteriaBuilder.
Dans cette requête, je rejoins une petite base de données. Maintenant, je n'ai besoin que de la dernière entrée d'une table jointe. Mais je ne sais pas où je dois appliquer cela dans la requête.JPA Criteria Query Builder: Obtenir la dernière entrée
Voici un mannequin requête 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)));
}
Maintenant je besoin que la dernière entrée du ListJoin class3
, comment puis-je faire cela?
Salutations
qu'est ce que "last entry"? dernier élément d'un champ Liste? Fournir les classes d'entité –
@NeilStockton Oui dernier élément d'une liste –
Lars