0

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

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

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

4

1 回答 1

2

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

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

于 2013-05-08T12:36:00.637 回答