Hibernate Criteria Expression (lt)

In this section, you will learn to use the "lt" method. This is one of the most important method that is used to apply a "less than" constraint to the named property.

Expressions: The Hibernate Criteria API supports a rich set of comparison operators. Some standard SQL operators are =, <, ?, >, ?. That supports lt() method in Expression class.

In this tutorial, "lt" is used with the Integer object (invested_amount). It takes two parameters e.g. lt("property_name",Object val).

Table Name: insurance

ID insurance_name invested_amount investement_date
2 Life Insurance 25000 0000-00-00 00:00:00
1 Givan Dhara 20000 2007-07-30 17:29:05
3 Life Insurance 500 2005-10-15 00:00:00
4 Car Insurance 2500 2005-01-01 00:00:00
5 Dental Insurance 500 2004-01-01 00:00:00
6 Life Insurance 900 2003-01-01 00:00:00
7 Travel Insurance 2000 2005-02-02 00:00:00

Here is the code of the class using "lt" Expression :

package roseindia.tutorial.hibernate;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Expression;

public class HibernateCriteriaQueryExpressionLt {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Session sess = null;
try {
SessionFactory fact = new
Configuration().configure().buildSessionFactory();
sess = fact.openSession();
Criteria crit =
sess.createCriteria
(Insurance.class);
crit.add(Expression.lt
(
"investementAmount",new Integer(900)));
List list = crit.list();
for (Iterator it =
list.iterator
();it.hasNext();){
Insurance ins =
(
Insurance)it.next();
System.out.println("Insurance
Id: "
+ ins.getLngInsuranceId());
System.out.println("Insurance
Name: "
+ ins.getInsuranceName());
System.out.println("Insurance
Amount: "
+ ins.getInvestementAmount());
System.out.println("Investement
Date: "
+ ins.getInvestementDate());
}
sess.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}

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_.invested_amount

Insurance Id: 3

Insurance Name: Life Insurance

Insurance Amount: 500

Investement Date: 2005-10-15 00:00:00.0

Insurance Id: 5

Insurance Name: Dental Insurance

Insurance Amount: 500

Investement Date: 2004-01-01 00:00:00.0

0 comments:

Post a Comment