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)

--Ads--

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