Criteria criteria = session.createCriteria(Student.class);
Criterion address = Restrictions.like("address", "patna",
MatchMode.ANYWHERE);
Criterion firstName = Restrictions.eq("name", "Ramesh");
Disjunction disjunction = Restrictions.disjunction();
disjunction.add(address);
disjunction.add(firstName);
criteria.add(disjunction);
List list = criteria.list();
CriteriaMultipleOr.java
package net.roseindia.main;
import java.util.Iterator;
import java.util.List;
import net.roseindia.bean.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Disjunction;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;
public class CriteriaMultipleOr {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(Student.class);
Criterion address = Restrictions.like("address", "patna",
MatchMode.ANYWHERE);
Criterion firstName = Restrictions.eq("name", "Ramesh");
Disjunction disjunction = Restrictions.disjunction();
disjunction.add(address);
disjunction.add(firstName);
criteria.add(disjunction);
List list = criteria.list();
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Student student = (Student) iterator.next();
System.out.println(student.getName());
}
}
}
| Hibernate: select this_.roll_no as roll1_0_,
this_.name as name0_0_, this_.course as course0_0_, this_.address as
address0_0_, this_.addmision_date as addmision5_0_0_ from student this_
where (this_.address like ? or this_.name=?) Ramesh Vikash Ramesh Chulbul Panday |