gpt4 book ai didi

java - JPA Eclipselink query.first Result() 和 query.setMaxResults() 与 Postgres

转载 作者:行者123 更新时间:2023-12-01 14:36:45 24 4
gpt4 key购买 nike

Postgres 支持 SQL 语句的偏移和限制,以支持分页样式查询。通过查询中的限制和/或偏移,结果从数据库返回的速度要快得多。

我使用 Eclipse Link 作为 JPA 提供程序,并通过使用 query.firstResult() 和 query.setMaxResults(),生成的 SQL 不使用限制和偏移来缩小结果集。当我打开登录功能时我会看到这一点。我相信它将结果集中的第一个指针设置为从 query.firstResult() 开始。这甚至不如直接在 SQL 中使用限制或偏移量那么高效。

有没有办法让 JPA 使用限制/偏移量,或者我被 query.firstResult() 和 query.setMaxResults() 困住了?

最佳答案

您使用的旧版本未在 PostgreSQLPlatform 中实现分页,或者尚未将 EclipseLink 配置为使用 PostgreSQLPlatform。

通过 https://bugs.eclipse.org/bugs/show_bug.cgi?id=211691 添加了支持到 EclipseLink 1.1,因此请检查自动检测是否使用正确的数据库平台。如果无法正确检测到,您可能需要添加值为 PostgreSQL 的“eclipselink.target-database”持久性属性。

关于java - JPA Eclipselink query.first Result() 和 query.setMaxResults() 与 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425828/

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