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.

Hibernate Criteria Expression (lt)

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
Life Insurance 900 2003-01-01 00:00:00
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