小编use*_*479的帖子

如何使用条件和分页

大家好,我正在尝试使用标准和分页,但我的代码不起作用,这里是:

public Page<Person> getAuthorizationsTest() {

    PageRequest pageRequest = new PageRequest(1, 5);

    CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
    CriteriaQuery<Person> queryBase = criteriaBuilder.createQuery(Person.class);
    Root<Person> root = queryBase.from(Person.class);
    List<Predicate> queryConditions = new ArrayList<>();

    Predicate predicate = criteriaBuilder.like(root.get("name"), "%[myValue]%");
    queryConditions.add(predicate);

    queryBase.where(queryConditions.toArray(new Predicate[]{}));

    TypedQuery<Person> query = em.createQuery(queryBase);

    List<Person> list = query.getResultList();

    Page<Person> authorizations = new PageImpl<Person>(list, pageRequest, list.size());

    return authorizations;
}
Run Code Online (Sandbox Code Playgroud)

一切看起来都很好,但是当我执行它时,我收到一个包含所有结果的列表页面,而不仅仅是 pageRequest 中指定的结果

我究竟做错了什么 ?

java pagination criteria spring-boot

4
推荐指数
1
解决办法
7741
查看次数

标签 统计

criteria ×1

java ×1

pagination ×1

spring-boot ×1