我目前正在用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