Hibernate Criterion

This tutorial is better understanding of Hibernate Criterion concept.

Hibernate Criterion

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

Click here to download complete source code