我目前正在用JPA CriteriaBuilder構建一個複雜的查詢。
在這個查詢中,我加入了一些小數據庫。現在我只需要加入表格的最後一個條目。但我不知道我在哪裏必須在查詢中應用。JPA標準查詢生成器:獲取最後一個條目
這是一個虛擬的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)));
}
現在我只需要ListJoin class3
的最後一項,我怎麼能做到這一點?
問候
什麼是「最後一項」? List字段的最後一個元素?提供實體類 –
@NeilStockton是List的最後一個元素 –
Lars