Other ApplicationsStruts Resume
Set your name in
Here's an entry from the Hibernate FAQ that shows one way of doing this:
Here is Gavin Kings Blog on a Paging class.
Another entry relevant to this issue on the Hibernate site Hibernate Pagination
Query q = s.createFilter( collection, "" ); // the trivial filter q.setMaxResults(PAGE_SIZE); q.setFirstResult(PAGE_SIZE * pageNumber); q.setProjection( Projections.alias( Projections.rowCount(), "numResults" ) ) List page = q.list();
Do NOT use:
ScrollableResults scrollableResults = query.scroll(); scrollableResults.last(); rowCnt = scrollableResults.getRowNumber();
as most drivers (including Oracle) basically read all the data on the client side in order to calculate the number of rows. Hibernate 3 has added the ability of adding projections like count(*) w/ aliases to the Query.
The Display Tag has support for external paging and sorting with a system like this one.