我使用此代碼對MySQL的分頁查詢語句(使用Struts 2 + Hibernate的工作):關於在MySQL
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條記錄。如果這是真的,這意味着分頁必須是無用的。
如果沒有任何方法來證明查詢不會從DB獲取數據,直到我們撥打query.list()
。
你可以打印出休眠創建並看看,看看它做什麼的HQL。但我相信它限制在數據庫方面,只返回你的100個結果。 – 2012-07-13 14:28:09
謝謝戴夫牛頓先生! – LeePhan 2012-07-13 17:05:59