Wednesday, May 18, 2011

HIBERNATE CRITERIA QUERY

Hibernate criteria query


Hibernate Criteria Query Example

                          
The Criteria interface allows to create and execute object-oriented queries. It is powerful alternative to the HQL but has own limitations. Criteria Query is used mostly in case of multi criteria search screens, where HQL is not very effective. 
The interface org.hibernate.Criteria is used to create the criterion for the search. The org.hibernate.Criteria interface represents a query against a persistent class. The Session is a factory for Criteria instances. Here is a simple example of Hibernate Criterial Query:


package roseindia.tutorial.hibernate;

import org.hibernate.Session;
import org.hibernate.*;
import org.hibernate.cfg.*;
import java.util.*;
/**
 @author Deepak Kumar
 
 * http://www.roseindia.net
Hibernate Criteria Query Example

 *  
 */public class HibernateCriteriaQueryExample {
  public static void main(String[] args) {
    Session session = null;
    try {
      // This step will read
hibernate.cfg.xml and prepare hibernate for

      // use
      SessionFactory
sessionFactory = 
new Configuration().configure()
          .buildSessionFactory();
      session =
sessionFactory.openSession
();
      //Criteria Query Example
      Criteria crit =
session.createCriteria
(Insurance.class);
      List insurances =
crit.list
();
      for(Iterator it =
insurances.iterator
();it.hasNext();){
        Insurance insurance = (Insuranceit.next();
        System.out.println("
ID: " 
+ insurance.getLngInsuranceId());
        System.out.println("
Name: " 
+ insurance.getInsuranceName());
        
      }
      session.close();
    catch (Exception e) {
      System.out.println(e.getMessage());
    finally {
    }    
  }
}
The above Criteria Query example selects all the records from the table and displays on the console. In the above code the following code creates a new Criteria instance, for the class Insurance:
Criteria crit = session.createCriteria(Insurance.class);
The code:
List insurances = crit.list();
creates the sql query and execute against database to retrieve the data.