In this paper, two implementation methods of hibernate paging are described. Share to everyone for your reference, specific as follows:
1. Criteria pagination
Public Page getpage (int currentpage,int pagesize,criterion...crts) {
Criteria C=session.createcriteria ( House.class);
List List=null;
for (int i = 0; i < crts.length i++) {
c.add (crts[i]);
C.setprojection (Projections.rowcount ());
int totalrecord=integer.valueof (C.uniqueresult (). toString ());
C.setprojection (null);
C.setfirstresult ((pageSize) * (currentPage-1));
C.setmaxresults (pageSize);
List=c.list ();
Page page=new page ();
Page.setcurrentpage (currentpage);
Page.setpagesize (pageSize);
Page.settotalrecord (Totalrecord);
Page.setlist (list);
return page;
}
2. HQL Paging
Public Page getpage (int currentpage,int pagesize,string Hql,object...args) {
String counthql= ' select COUNT (*) + Hql.substring (Hql.indexof ("from"));
Session session=hibernateutil.getinstance (). getsession ();
Query query=session.createquery (COUNTHQL);
for (int i = 0; i < args.length i++) {
query.setparameter (i, args[i]);
int totalrecord=integer.valueof (Query.uniqueresult () + "");
Query=session.createquery (HQL);
for (int i = 0; i < args.length i++) {
query.setparameter (i, args[i]);
Query.setfirstresult (pagesize* (currentPage-1));
Query.setmaxresults (pageSize);
List
I hope this article will help you with Java programming based on the Hibernate framework.