Hibernate Criteria Or

In this section we are going to discuss Hibernate Criteria Or with example.

Hibernate Criteria Or

Hibernate Criteria Or

In this section we are going to discuss Hibernate Criteria Or with example.

OR operator is used for checking all the conditions. If any one of them is satisfied then it will return the results according to the conditions.

Example :

In this example we have two condition to satisfy. One is to check roll number is greater than 5 and second condition is to check that name starts with 'J' character.

Student is our persistent class for student table. Here is main class -

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.Restrictions;

public class MainClazz {

public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Student.class);
try {
criteria.add(Restrictions.or(Restrictions.gt("roll", 5),
Restrictions.like("name", "J%")));
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>? or this_.name like ?)
RollNo.   Name     Course
4         Jenson   Hibernate
5         jacqub   Hibernate
6         Mandy    C
8         John     Hibernate
9         Linda    Hibernate

Click here to download complete source code