Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Hibernate Hibernate's Built-in criterion: Between (using with Date)

 
 

Share on Google+Share on Google+

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

Advertisement
In this section, you will learn to use "between" i.e.one of the built-in hibernate criterions. 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

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

     

In this section, you will learn to use "between" i.e.one of the built-in hibernate criterions. 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

In this tutorial, "Between" is used with the date object. It takes three parameters e.g.  between("property_name",startDate,endDate)

Here is the code of the class using "between" with the Date class :

package roseindia.tutorial.hibernate;

import org.hibernate.*;
import org.hibernate.criterion.*;
import org.hibernate.cfg.*;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 @author Deepak Kumar
 
 http://www.roseindia.net 
Hibernate Criteria Query Example

 *  
 */public class HibernateCriteriaQueryBetweenDate {
  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);
  DateFormat format = 
new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  Date startDate = 
(
Date)format.parse("2005-01-01 00:00:00");
  Date endDate = 
(
Date)format.parse("2005-03-03 00:00:00");
  crit.add(Expression.between
(
"investementDate"new Date(startDate.getTime()),
 
new Date(endDate.getTime())))//
Between date 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());
  System.out.println("
Date: " 
+ insurance.getInvestementDate());
  
  }
  session.close();
  catch (Exception e) {
  System.out.println(e.getMessage());
  finally {
  }  
  }
}

Download this code:

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_.investement_date between ? and ? limit ?

ID: 1

Name: Car Insurance

Amount: 1000

Date: 2005-01-05 00:00:00.0

ID: 4

Name: Car Insurance

Amount: 2500

Date: 2005-01-01 00:00:00.0

ID: 7

Name: Travel Insurance

Amount: 2000

Date: 2005-02-02 00:00:00.0

ID: 8

Name: Travel Insurance

Amount: 600

Date: 2005-03-03 00:00:00.0

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: March 10, 2008

Related Tutorials

Discuss: Hibernate's Built-in criterion: Between (using with Date)  

Post your Comment


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