我使用这段代码在 mysql 中进行分页(使用 Struts 2 + Hibernate):
Query query=getSession().createQuery("from GovOffice");
query.setFirstResult(0);
query.setMaxResult(100);
List<GovOffice> list=query.list();
这将返回从第一条记录开始的 GovOffice 列表,每页显示 100 条记录。
假设我有 100,000 条记录,这个查询“来自 GovOffice”是否首先获取所有 100,000 条记录?通过 setFirstResult 和 setMaxReSult 它将限制从 100,000 到 100 条记录。如果这是真的,则意味着分页必须是无用的。
如果没有,有什么方法可以证明在我们调用之前查询不会从数据库中获取数据query.list()
。