本机查询在Spring Boot中返回#pageable的所有记录

时间:2019-12-06 07:46:00

标签: java spring spring-boot jpa

我在stackoverflow中经历了本机查询中的分页,返回记录时没有错误。它提供所有记录,而不是在可分页的ex中获取参数值:iam将这些pageSize(5或4)和pageNo(0)传递给可分页的参数。

@Query(value = "select * from job_post where comp_addr_ref_id not in"
            + "(select mapping_id from company_address where ref_company_id in"
            + "(select mapping_id from  company where mapping_id in"
            + "(select comp_ref_id from comp_visibility where is_comp_visible=0 and login_ref_id=:mappingId)))"
            + " order by created_date desc  \n#pageable\n", nativeQuery = true)
    public List<JobPost> findUserBlockedCompanies(String mappingId, Pageable pageable);

2 个答案:

答案 0 :(得分:0)

如果您使用的是Spring Boot 2.0或更高版本,请尝试删除\n#pageable\n部分。

如果您使用PostgreSql和MySql,请将值\n#pageable\n更改为 ?#{#pageable}

如果仍然无法正常工作,则可以在spring.jpa.show-sql=true中使用application.properties启用SQL语句的记录

答案 1 :(得分:0)

我有类似的问题。 如果您使用的是2.0.4之前的Spring Data,则可以尝试替换

\n#pageable\n

使用

\n /* --#pageable */ \n

这适用于Postgres和Oracle。

P.S。在Spring Data 2.0.4+中,您可以从查询中完全删除此可分页的令牌,因为不再需要(https://jira.spring.io/browse/DATAJPA-928

另请参阅Spring Data and Native Query with pagination