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
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Hibernate Criterion
Post your Comment