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