In this tutorial we will discuss concept of pagination in hibernate.
Pagination in Hibernate :
Pagination is used where you have to display large amount of result. It is
tough to display all the record into a single page.
For convenient and better display hibernate provides concept of pagination. In
pagination large result set is divided into a number of pages and at a time you
can fetch one page.
For this, just set start position and page size. Use "order by" clause to sort
result dataset.
Code :
String hql = "SELECT stud.roll, stud.name, stud.course FROM Student stud"; Query query = session.createQuery(hql); query.setFirstResult(start); query.setMaxResults(end);
setFirstResult(int arg0) : sets the starting point of your
table record. It is contained in Query org.hibernate.Query.setFirstResult(int
arg0)
It takes one int type argument.
setMaxResults(): sets the maximum result into your single
page. It is defined in Query org.hibernate.Query.setFirstResult(int arg0).
It takes one int type argument.
Example : Here we are selecting record of student and displaying it by using pagination concept.
main class code :
package net.roseindia.main;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class MainClazz {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
int start = 0;
int end = 5;
String hql = "SELECT stud.roll, stud.name, stud.course FROM Student stud order by stud.roll";
Query query = session.createQuery(hql);
query.setFirstResult(start);
query.setMaxResults(end);
query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
List objectList = query.list();
Iterator iterator = objectList.iterator();
System.out.println("RollNo.\t Name \t Course");
while (iterator.hasNext()) {
Map map = (Map) iterator.next();
System.out.print(map.get("0"));
System.out.print("\t" + map.get("1"));
System.out.print("\t" + map.get("2"));
System.out.println();
}
session.close(); // session is closed
}
}
Output :
Hibernate: select student0_.roll_no as col_0_0_, student0_.name as col_1_0_, student0_.course as col_2_0_ from student student0_ limit ? RollNo. Name Course 1 Rondy java 3 Johny unix 4 Roxi Hibernate 5 Johny Hibernate 6 johny C
Click here to download complete source code
|
Recommend the tutorial |

Ask Questions? Discuss: Hibernate Pagination
Post your Comment