编程语言
首页 > 编程语言> > java – Spring Data Neo4j可分页

java – Spring Data Neo4j可分页

作者:互联网

我有一个Spring Data Repository接口,它使用自定义查询从数据库中获取节点集合:

存储库方法:

@Query ("START r = node({0}) MATCH r <-[:AUTHOR]-  m RETURN m")
public Page<Object> findObjectById (long objectId,Pageable pageable);

方法调用

 custRepository.findObjectById (4,new PageRequest(0, 5));

这将返回一个对象集合,但页面信息不正确.数据库中有足够的数据供我获取多页数据.第一页信息说有:

 Current Page #: 0
 Total Pages: 1
 Is First Page: true
 Is last Page: true

但是,当我获取第二页时,我仍然获得其他对象的集合,然后页面信息变为:

 Current Page #: 1
 Total Pages: 6
 Is First Page: false
 Is last Page: false

这清楚地表明第一页上的页面信息不正确,因为我需要准确的信息来在我的应用程序中实现分页,这就成了一个问题.是什么导致了这个问题,我该如何解决?

解决方法:

我提出同样的问题.事实证明,您还必须指定查询注释的countQuery属性.不确定它是否有错误记录.在你的情况下它应该是

@Query (value="START r = node({0}) MATCH r <-[:AUTHOR]-  m RETURN m", 
        countQuery="START r = node({0}) MATCH r <-[:AUTHOR]-m RETURN count(m)")

希望它能帮到你.

标签:java,spring-data,pagination,spring-data-neo4j
来源: https://codeday.me/bug/20190831/1774236.html