Home Hibernate Hibernate Disjunction.

 
 

Share on Google+Share on Google+

Hibernate Disjunction.

Advertisement
This section contains explanation of Hibernate disjunction with example.

Hibernate Disjunction

This section contains explanation of Hibernate disjunction with example.

Hibernate Criteria Disjunction :

Hibernate provides Criteria disjunction which functionality is as logical OR operator.
disjunction() groups the expressions into single expression. It returns result if any one condition of them is satisfied.
If all the conditions are not satisfied then only it will return false.

Example : student is our table and we are going to display records of such student whose roll_no is 4 or whose name starts with 'R' character.

package net.roseindia.main;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
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);
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(); // session is closed
}

}

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

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 25, 2012

Related Tutorials

Discuss: Hibernate Disjunction.  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com