Spring data 弹簧靴沙发床反应式isn';不支持分页

Spring data 弹簧靴沙发床反应式isn';不支持分页,spring-data,couchbase,spring-webflux,spring-data-couchbase,spring-reactive,Spring Data,Couchbase,Spring Webflux,Spring Data Couchbase,Spring Reactive,我正在尝试在我的反应式WebFlux应用程序中实现分页,我的DB是Couchbase 允许我将Pageable作为参数传递到存储库中 Flux<Person> findByFirstnameOrderByLastname(String firstname, Pageable pageable); 我的存储库方法如下所示: Flux<Building> findAll(Pageable pageable); Flux-findAll(可分页); 然而,如果我使用这个变

我正在尝试在我的反应式WebFlux应用程序中实现分页,我的DB是Couchbase

允许我将Pageable作为参数传递到存储库中

Flux<Person> findByFirstnameOrderByLastname(String firstname, Pageable pageable);
我的存储库方法如下所示:

Flux<Building> findAll(Pageable pageable);
Flux-findAll(可分页);
然而,如果我使用这个变通方法,我没有问题

@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} LIMIT $1 OFFSET $2")
Flux<Building> findAll(Integer limit, Integer offset);
@Query(#{n1ql.selectEntity}其中#{n1ql.filter}限制$1偏移$2”)
通量findAll(整数限制、整数偏移);
这是一个bug吗?或者,我用错了吗?

Spring启动版本:2.2.7.发布

完整存储库:

@Repository
public interface BuildingRepository extends ReactiveSortingRepository<Building, String> {

    @Query("#{#n1ql.selectEntity} where #{#n1ql.filter} LIMIT $1 OFFSET $2")
    Flux<Building> findAll(Integer limit, Integer offset);

    //This works if I comment the below
    Flux<Building> findAll(Pageable pageable);
}
@存储库
公共接口BuildingRepository扩展了ReactiveSortingRepository{
@查询(“#{n1ql.selectEntity}其中#{n1ql.filter}限制$1偏移$2”)
通量findAll(整数限制、整数偏移);
//如果我对下面的内容进行评论,这是可行的
流量findAll(可分页);
}

简单的回答是,文档不是最新的,最好的解决方案是使用您已经完成的限制和偏移量自己实现分页。中正在进行补救工作(此处未描述,但这是跟踪问题)

即使如此,一种更有效的分页方式是键集分页()——但您需要在应用程序中实现它。它使用索引获取从第一个必需项开始的项,而不是“跳过”前面页面中的项

@Repository
public interface BuildingRepository extends ReactiveSortingRepository<Building, String> {

    @Query("#{#n1ql.selectEntity} where #{#n1ql.filter} LIMIT $1 OFFSET $2")
    Flux<Building> findAll(Integer limit, Integer offset);

    //This works if I comment the below
    Flux<Building> findAll(Pageable pageable);
}