Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA分页:setFirstResult()和setMaxResults():实际分页?_Java_Jpa_Pagination - Fatal编程技术网

Java JPA分页:setFirstResult()和setMaxResults():实际分页?

Java JPA分页:setFirstResult()和setMaxResults():实际分页?,java,jpa,pagination,Java,Jpa,Pagination,JPA setFirstResult()和setMaxResults()方法是否进行真正的分页?我是说从数据库的角度来看?还是不 例如,如果一个查询返回1000000行,而我正在用这些方法分页1000页,那么数据库最终会被查询1000行还是1000000行 我的观点是:这些方法只是为了限制检索到的条目数量,以限制Java程序中查询结果的内存占用,还是也可以作为一种对DBMS更加保守的方法?这既是JPA实现,也是特定于数据库的,但一般来说,这是一种愚蠢的方法,例如使用偏移/限制或类似机制(基于Hi

JPA setFirstResult()和setMaxResults()方法是否进行真正的分页?我是说从数据库的角度来看?还是不

例如,如果一个查询返回1000000行,而我正在用这些方法分页1000页,那么数据库最终会被查询1000行还是1000000行


我的观点是:这些方法只是为了限制检索到的条目数量,以限制Java程序中查询结果的内存占用,还是也可以作为一种对DBMS更加保守的方法?

这既是JPA实现,也是特定于数据库的,但一般来说,这是一种愚蠢的方法,例如使用偏移/限制或类似机制(基于Hibernate的实现)


如果数据库能够以某种方式提高效率,那么相应的JPA机制也会相应地提高效率。如果没有(比如Postgres),那么最好使用自己的分页机制。

注意:JPA什么都不做,它是一个API规范。您必须通过指定执行实际工作的确切持久性提供者(EclipseLink、Hibernate),使这个问题更加具体。