可以将'@Where'注解从实体类上移除,或者将其改成一个不会影响查询结果的条件,比如'@Where(clause = '1=1')'。另外,如果是在Specification中添加的'@Where'注解,可以将其从Specification中移除。

public static PageResult queryPage(JpaSpecificationExecutor jpaSpecificationExecutor, Integer pageNum, Integer pageSize, Specification specification, Sort sort){ if (pageNum <= 0) { pageNum = FIRST_PAGE_NUM; }

    if (pageSize <= MIN_PAGE_SIZE) {
        pageSize = MIN_PAGE_SIZE;
    }
    if (pageSize > MAX_PAGE_SIZE) {
        pageSize = MAX_PAGE_SIZE;
    }

    // first page is 0 not 1
    Pageable pageable = PageRequest.of(pageNum - 1, pageSize, sort);
    Page<T> page = jpaSpecificationExecutor.findAll(specification, pageable);

    PageResult<T> pageResult = new PageResult<>();
    pageResult.setList(page.getContent());
    pageResult.setPageSize(page.getSize());
    pageResult.setCurrentPage(page.getNumber() + 1);
    pageResult.setTotalPage(page.getTotalPages());
    pageResult.setTotalItem(page.getTotalElements());

    return pageResult;
}
Spring Data JPA @Where 注解条件取消方法

原文地址: https://www.cveoy.top/t/topic/nWVn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录