Набор данных, который я отображаю с помощью PageableListView, может стать очень большим, и сохранение всего набора данных в качестве модели было бы очень неэффективным. Можно ли, например, сначала загрузить только набор идентификаторов, а затем загрузить только те объекты, которые должны отображаться на текущей странице? Я использую Wicket+Spring+Hibernate/JPA. Или есть лучший подход к подкачке в этом случае?
PageListView и загрузка набора данных
Ответы (1)
Обычный способ справиться с этим (по крайней мере, для меня) - выполнить:
- первый запрос для подсчета элементов и определения количества отображаемых страниц
- последующие запросы с использованием
Query#setFirstResult(int)
иQuery#setMaxResults(int)
для каждой страницы.
В Wicket, JPA, GlassFish и Java Derby или MySQL автор точно показывает, как реализовать этот подход использует Wicket и DataView
вместо PageableListView
(приведен пример кода).
person
Pascal Thivent
schedule
21.10.2010
+1: в основном ответ заключается в использовании DataView вместо PageableListView, но эта запись в блоге действительно хорошо объясняет это.
- person Don Roby; 22.10.2010
@ Дон Спасибо, Дон, ты прав, и я пояснил этот момент в своем ответе.
- person Pascal Thivent; 25.10.2010