PageListView и зареждане на набор от данни

Наборът от данни, който показвам с помощта на PageableListView, може да стане много голям и запазването на целия набор от данни като модел би било много неефективно. Възможно ли е да се зареди например първо само наборът от идентификатори и след това да се заредят само обектите, които трябва да бъдат показани на текущата страница? Използвам Wicket+Spring+Hibernate/JPA. Или има по-добър подход за страниране в този случай?


person John Manak    schedule 21.10.2010    source източник


Отговори (1)


Обичайният начин да се справя с това (поне за мен) би бил да изпълня:

  • първа заявка за преброяване на елементите и извеждане на броя на страниците за показване
  • последващи заявки, използвайки Query#setFirstResult(int) и Query#setMaxResults(int) за всяка страница.

В Wicket, JPA, GlassFish и Java Derby или MySQL авторът показва точно как да внедрите този подход използва Wicket и DataView вместо PageableListView (предоставен примерен код).

person Pascal Thivent    schedule 21.10.2010
comment
+1: По принцип отговорът е да се използва DataView вместо PageableListView, но този запис в блога наистина го обяснява добре. - person Don Roby; 22.10.2010
comment

Това е език за програмиране с общо предназначение. Да перифразираме Кент Питман по въпроса за какво е полезен Common Lisp:

...Моля, не приемайте, че [Smalltalk] е полезен само за анимация и графика, AI, биоинформатика, B2B и електронна търговия, извличане на данни, EDA/полупроводникови приложения, експертни системи, финанси, интелигентни агенти, управление на знания, механичен CAD , моделиране и симулация, естествен език, оптимизация, изследвания, анализ на риска, планиране, телекомуникации и уеб авторство само защото това са единствените неща, които случайно са изброили.

Той е особено подходящ за приложения, които не могат да имат прекъсване - съвсем нормално е да се извърши корекция на работещ сървър по дълбок начин (да речем, като промените формата на вашия клас), без да прекъсвате сървъра - или системи, които са много сложни или имат бързо променящи се изисквания.

- person Pascal Thivent; 25.10.2010