|
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 :
import org.hibernate.*; import org.hibernate.criterion.*; import org.hibernate.cfg.*;
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*;
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 =
(Insurance) it.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 {
}
}
}
|