您可以使用以下查询来获取可分页数据。记住几点
- 您必须在等号和参数(如 (data = :date))之间留出空格
- 无需给nativeQuery = true,可以使用实体字段
- 您不能在 Spring Boot 的本机查询中使用“查询”作为变量。您必须作为参数从服务中传递。
- 只需在所需查询中传递您的查询参数,如选择或根据您的要求。下面的例子。
@Query(value = "select entity from table entity where 1=1 AND date = :date AND query = :query")
Page<YourTableEntity> getSearchedTable(@Param("query") String query, @Param("businessDate") LocalDate businessDate, Pageable pageable);
但是,如果您必须强制使用 nativeQuery,那么您可以选择以下任何查询。
1.第一个选项
@Query(
value = "select entity from table entity where 1=1 AND date = :date AND query = :query ORDER BY id",
countQuery = "SELECT count(*) FROM table",
nativeQuery = true)
Page<YourTableEntity> getSearchedTable(@Param("query") String query, @Param("businessDate") LocalDate businessDate, Pageable pageable);
2。第二种选择
@Query(value = "select entity from table entity where 1=1 AND date = :date AND query = :query ORDER BY id \n-- #pageable\n",
countQuery = "SELECT count(*) FROM table",
nativeQuery = true)
Page<YourTableEntity> getSearchedTable(@Param("query") String query,
@Param("businessDate") LocalDate businessDate, Pageable pageable);