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 = (Insurance) it.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 {
    }    
  }
}