标签:java spring-data pagination 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。