Объясните пожалуйста как работает пэйджинг в Хайбернейте?
Вот пример
есть большой набор данных, причём получаться он в результате сложного SQL/HQL/JPQL запроса, для которого нужно сделать постраничный вывовод.
С Хайбернейтом работаю через JPA:
Query q = em.createQuery("select from...");
q.setFirstResult(900000);
q.setMaxResults(10);
0 row1 row2... rowN
...
900000 row1 row2... rowN \
900001 row1 row2... rowN |
... | данные нужные для страницы
900009 row1 row2... rowN |
900010 row1 row2... rowN /
...
100000 row1 row2... rowN
Предполагатся использование Сайбейса — там LIMIT X, Y как в Майэскуэле нет.
Как же это тогда работает?
Для субд эти инструкции будут одинаково тяжёлыми или нет?
Query q = em.createQuery("select from...");
q.setFirstResult(900000);
q.setMaxResults(10);
Query q = em.createQuery("select from...");
q.setFirstResult(1);
q.setMaxResults(10);