Spring data 弹簧靴沙发床反应式isn';不支持分页
我正在尝试在我的反应式WebFlux应用程序中实现分页,我的DB是Couchbase 允许我将Pageable作为参数传递到存储库中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(可分页); 然而,如果我使用这个变
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);
}