spring data JPA 中带查询条件的分页in的用法
in的用法和equal,like,or的用法不同,以下给出in的用法!
@Override
public Predicate toPredicate(Root<Person> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> list = new ArrayList<>();
List<Integer> ids = personService.getIdList();
if (ids != null && ids.size() > 0) {
In<Object> in = criteriaBuilder.in(root.get("id"));
for (Integer id : ids) {
in.value(id);
}
list.add(in);
}
Predicate[] p = new Predicate[list.size()];
return criteriaBuilder.and(list.toArray(p));
}
希望能帮到你!