mysql でのページングにこのコードを使用します (Struts 2 + Hibernate での作業):
Query query=getSession().createQuery("from GovOffice");
query.setFirstResult(0);
query.setMaxResult(100);
List<GovOffice> list=query.list();
これは、最初のレコードから開始された GovOffice のリストを返し、1 ページあたり 100 レコードを表示します。
100,000 件のレコードがあるとします。このクエリは「GovOffice から」最初に 100,000 件のレコードすべてを取得しますか? setFirstResult と setMaxReSult によって、100,000 から 100 レコードに制限されます。これが true の場合、ページングが役に立たないことを意味します。
そうでない場合、 を呼び出すまでクエリが DB からデータを取得しないことを証明する方法はありませんquery.list()
。