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