Hibernate Criterion
This tutorial is better understanding of Hibernate Criterion concept.
Hibernate Criterion :
Criterion is concept in Hibernate for defining restriction criteria and order
criteria. It is an object oriented representation restriction in a criteria
query.
It is instance of the interface org.hibernate.criterion.Criterion.
Example : In this example we are using Criterion to define restriction criteria. Here is two Criterion one selecting student record whose roll number is greater than 3 and other to select those student whose name start with j letter. Finally we are selecting student who satisfy both conditions.
package net.roseindia.main; import net.roseindia.table.Student; import net.roseindia.util.HibernateUtil; import java.util.*; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; public class MainClazz { public static void main(String[] args) { Session session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Student.class); try { Criterion criterion1=Restrictions.gt("roll", 3); Criterion criterion2=Restrictions.like("name", "j%"); criteria.add(Restrictions.and(criterion1,criterion2)); List<Student> list = new ArrayList<Student>(); list = criteria.list(); Iterator iterator = list.iterator(); System.out.println("RollNo.\tName\tCourse"); while (iterator.hasNext()) { Student student = (Student) iterator.next(); System.out.print(student.getRoll()); System.out.print("\t" + student.getName()); System.out.println("\t" + student.getCourse()); } session.flush(); } catch (HibernateException e) { e.printStackTrace(); } finally { session.close(); } } }
Output :
Hibernate: select this_.roll_no as roll1_0_0_, this_.course as course0_0_, this_.name as name0_0_ from student this_ where (this_.roll_no>? and this_.name like ?) RollNo. Name Course 4 Jenson Hibernate 5 jacqub Hibernate 8 John Hibernate