3

我可以在带有 @Query 注释的 Spring Data R2dbc 存储库中使用 Pageable 属性吗?例如;

public interface PartyRepository extends ReactiveCrudRepository<Party,String> {

   @Query("select * from party order by id")
   Flux<Party> getParties(Pageable pageable);
}

它给出了“org.springframework.data.repository.query.ParameterOutOfBoundsException:无效的参数索引!您似乎声明的查询方法参数太少了!”

有什么方法可以在 Spring Data R2dbc 存储库中使用分页吗?

谢谢。

4

1 回答 1

0

R2DBC 不支持这一点,并且可能永远不会支持。

但是您可以使用 SpEL 表达式手动调整查询字符串以包含分页。对于 MySQL,在您的示例中,这可能如下所示:

    @Query("SELECT * FROM party ORDER BY id LIMIT :#{[0].offset},:#{[0].pageSize}")
    Flux<Party> getParties(Pageable pageable);

[0]部分指示参数列表中的哪个参数是Pageable.

于 2021-10-14T22:11:03.500 回答