Hibernate Restrictions

Here we will discuss about Hibernate Restriction.

Hibernate Restrictions

Hibernate Restrictions

Here we will discuss about Hibernate Restriction.

Hibernate Restrictions :

Hibernate Restrictions is defined in class org.hibernate.criterion.Restrictions. It is used in place of Expression.

By using restriction you can obtain certain criterion type.

Example : In this example you can see how Restrictions work. Student.java is our persistent class which maps student table.


package net.roseindia.main;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

public class HibernateRestrictions {

public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Student.class);
criteria.add(Restrictions.disjunction().add(Restrictions.eq("id", 4))
.add(Restrictions.like("name", "R%")));

List<Student> stud = new ArrayList<Student>();
stud = criteria.list();
Iterator iterator = stud.iterator();
System.out.println("RollNo.\tName \t Course");
while (iterator.hasNext()) {

Student student = (Student) iterator.next();
System.out.print(student.getRoll());
System.out.print("\t" + student.getName());
System.out.print("\t" + student.getCourse());
System.out.println();
}
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=? or this_.name like ?)
RollNo.  Name     Course
1        Ron      java
3        Roxi     unix
4        Jenson   Hibernate

Click here to download complete source code