Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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

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
Hibernate 休眠:页面结果并知道结果大小_Hibernate_Paging - Fatal编程技术网

Hibernate 休眠:页面结果并知道结果大小

Hibernate 休眠:页面结果并知道结果大小,hibernate,paging,Hibernate,Paging,我使用Hibernate制作目录列表,为了避免每次查询都有大量数据,我使用: Criteria paging = sess.createCriteria(Principal.class); paging.setFirstResult((int) resultSetStart); paging.setMaxResults(resultSetSize); ... List<Principal> principals = paging.list(); criteriapaging=ses

我使用Hibernate制作目录列表,为了避免每次查询都有大量数据,我使用:

Criteria paging = sess.createCriteria(Principal.class);
paging.setFirstResult((int) resultSetStart);
paging.setMaxResults(resultSetSize);
...
List<Principal> principals = paging.list();
criteriapaging=sess.createCriteria(Principal.class);
setFirstResult((int)resultSetStart);
paging.setMaxResults(resultSetSize);
...
List principals=paging.List();
现在,这样做很好:我猜正好是
resultSetSize
results。然而,我想做一些像谷歌那样的事情,“从Y中显示X页面”


我如何知道参赛作品的总数?或者总页数?

如果不调用一些COUNT()查询,就无法获得所有结果的数量。因此,要么你必须做一些近似计算(如谷歌所做的),要么你可以在执行查询之前通过使用以下方法计算实体总数:


paging.setProjection(Projections.rowCount())

所以我需要做两个查询,一个查询行数,另一个查询实际数据???如果你真的想得到准确的结果,那么是的。但在您开始担心性能之前,请检查底层数据库的文档,因为它可能能够非常有效地完成这项工作。