JavaBeat
calling cards | international calling cards | phone card
Search JavaBeat

JAVABEAT
home
articles
tips
QnA
Books
forums
ARTICLE TOPICS
All Articles
Java 5.0
Java 6.0
EJB 3.0
JCA
Struts
JSF
Spring
Groovy
JBoss Seam
Hibernate
Eclipse
JavaFx
Google Guice
J2ME
GWT
WebServices
AJAX
ARCHIVE
2007 | 12 11 10 09 08 07 06 05 04 03
2008 | 07 06 05 04 03 02 01
CERTIFICATION KITS
350 SCJP 1.5 Mock Exams
400 SCJP 1.6 Mock Exams
300 SCWCD 5.0 Mock Exams
300 SCBCD 5.0 Mock Exams
Enter email address:

Latest JavaBeat Articles Delivered by FeedBurner
OUR NETWORK
javabeat
planetoss

Criteria Query Examples


In the last lesson we learnt how to use Criteria Query to select all the records from Insurance table. In this lesson we will learn how to restrict the results returned from the database. Different method provided by Criteria interface can be used with the help of Restrictions to restrict the records fetched from database.

Criteria Interface provides the following methods:

Method Description
add The Add method adds a Criterion to constrain the results to be retrieved.
addOrder Add an Order to the result set.
createAlias Join an association, assigning an alias to the joined entity
createCriteria This method is used to create a new Criteria, "rooted" at the associated entity.
setFetchSize This method is used to set a fetch size for the underlying JDBC query.
setFirstResult This method is used to set the first result to be retrieved.
setMaxResults This method is used to set a limit upon the number of objects to be retrieved.
uniqueResult
          
This method is used to instruct the Hibernate to fetch and return the unique records from database.

Class Restriction provides built-in criterion via static factory methods. Important methods of the Restriction class are:

Method Description
Restriction.allEq
          
This is used to apply an "equals" constraint to each property in the key set of a Map
Restriction.between
          
This is used to apply a "between" constraint to the named property
Restriction.eq
          
This is used to apply an "equal" constraint to the named property
Restriction.ge
          
This is used to apply a "greater than or equal" constraint to the named property
Restriction.gt
          
This is used to apply a "greater than" constraint to the named property
Restriction.idEq This is used to apply an "equal" constraint to the identifier property
Restriction.ilike
          
This is case-insensitive "like", similar to Postgres ilike operator
Restriction.in This is used to apply an "in" constraint to the named property
Restriction.isNotNull This is used to apply an "is not null" constraint to the named property
Restriction.isNull           This is used to apply an "is null" constraint to the named property
Restriction.le          This is used to apply a "less than or equal" constraint to the named property
Restriction.like This is used to apply a "like" constraint to the named property
Restriction.lt This is used to apply a "less than" constraint to the named property
Restriction.ltProperty This is used to apply a "less than" constraint to two properties
Restriction.ne          This is used to apply a "not equal" constraint to the named property
Restriction.neProperty This is used to apply a "not equal" constraint to two properties
Restriction.not   This returns the negation of an expression
Restriction.or  This returns the disjuction of two expressions

Here is an example code that shows how to use Restrictions.like method and restrict the maximum rows returned by query by setting the Criteria.setMaxResults() value to 5.

import org.hibernate.Session;
import org.hibernate.*;
import org.hibernate.criterion.*;
import org.hibernate.cfg.*;
import java.util.*;
public class HibernateCriteriaQueryExample2 {
  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);
      crit.add(Restrictions.like("insuranceName""%a%"))//Like 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());
        
      }
      session.close();
    catch (Exception e) {
      System.out.println(e.getMessage());
    finally {
    }    
  }
}


Favorites
Buy movies
Access Control
Busby seo challenge contest
Sohbet
Chat
Webmaster Hosting Forum
Java Jobs
MyVideoLib
India News
Internet Advances
Sohbet
chat
Latest QnA
SCJD Tips
When we start a thread by applying start() method on it ,how does it knows that to execute run()method?
About Wrapper class in Java
How to configure weblogic 7.0 in MyEclipse?
Static Block and Static Initializer in Java

JavaBeat Website (2004-2008), India
javabeat | about us | planetoss
Copyright (2004 - 2008), JavaBeat