Wednesday, 24 August 2011

Hibernate's Built-in criterion

In this tutorial,, you will learn to use "between" with the Integer class

Hibernate's Built-in criterion: Between (using Integer)

In this tutorial,, you will learn to use "between" with the Integer class. "Between" when used with the Integer object, It takes three parameters e.g. between("property_name",min_int,max_int).

Restriction class provides built-in criterion via static factory methods. One important  method of the Restriction class is 
between which is used to apply a "between" constraint to the named property
Here is the code of the class using "between" with the Integer class :


package roseindia.tutorial.hibernate;

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

 *  
 */public class HibernateCriteriaQueryBetweenTwoInteger {
  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);
  crit.add(Expression.between("
investementAmount"
new Integer(1000),
   
new Integer(2500)))//
Between condition

  crit.setMaxResults(5)//
Restricts the max rows to 5


  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());
  System.out.println("
Amount: " 
+ insurance.getInvestementAmount());
  
  }
  session.close();
  catch (Exception e) {
  System.out.println(e.getMessage());
  finally {
  }  
  }
}
Output:


log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.Hibernate: select this_.ID as ID0_0_, this_.insurance_name as insurance2_0_0_,
this_.invested_amount as invested3_0_0_, this_.investement_date as investem4_0_0_ from
insurance this_ where this_.invested_amount between ? and ? limit ?

ID: 1
Name: Car Insurance
Amount: 1000
ID: 4
Name: Car Insurance
Amount: 2500
ID: 7
Name: Travel Insurance
Amount: 2000

No comments:

Post a Comment