gpt4 book ai didi

java - 页面内容的 SDN4 自定义查询分页替代方案

转载 作者:行者123 更新时间:2023-12-01 22:09:58 27 4
gpt4 key购买 nike

目前 SDN4 不支持分页(引用: Paging and sorting in Spring Data Neo4j 4 )

可以自己指定 SKIP 和 LIMIT 子句来检索部分结果,但是对于我们的系统,我们还需要执行自定义分页查询时返回的 Page 中的 getTotalPages()、isFirst() 和 isLast() 值.

我们是否有其他方法可以使用 SDN4/OGM 检索这些值?或者,是否有任何代码建议/引用可供我们自己实现(可能在 Page 对象的构造中)?

谢谢!

最佳答案

正如您所了解的,支持 Spring 的 Page 对象的 OGM 中的 Pagination 对象不使用页数或返回页数。 Spring的Page对象提供了返回总页数的方法,但这取决于底层实现——Mongo、JPA、Neo4j等来实现。 Spring 的 Page 对象使用该值来确定“下一页”是否存在。我们的实现通过告诉 Spring 它总是这样做来“作弊”——直到对新页面的请求返回的结果少于一页的结果。

不幸的是,没有通用的方法可以返回页数,而不需要首先查找所有结果,然后对它们进行计数。对可能返回数千行的自定义查询执行此操作显然会带来服务器上堆空间耗尽的风险。 (请注意,Neo4j 中使用 SKIP 和 LIMIT 的底层实现不必将所有结果预先加载到内存中,因此不会遇到此问题)。

关于java - 页面内容的 SDN4 自定义查询分页替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com