Frameworks| Hibernate| Struts| JSF| JavaFX| Ajax| Spring| DOJO| JDO| iBatis| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials:
 

Software Solutions and Services
 

 
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification
  Java Applet
Questions
Comments
 
Hibernate Projections (rowCount or countDistinct) 
 

In this section, you will learn about the hibernate projection with an example.

 

Hibernate Projections (rowCount or countDistinct)

                         

In this section, you will learn about the hibernate projection with an example. 

Projection Interface: This is an interface that extends the Serializable. An object-oriented representation of a query result set projection in a Criteria query. Built-in projection types are provided by the Projections factory class. The Projection interface might be implemented by application classes that define custom projections.

The following example to count the total number of rows and distinct rows to use the Projections.rowCount() and Projections.countDistinct() method. 

Table Name: Insurance

Here is the code of program:

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.Projections;

public class hibernateProjectionExample {

  /**
   @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.setProjection(Projections.rowCount());
      List result = crit.list();
      System.out.println("No. of rows: "+result);
      crit.setProjection(Projections.distinct(Projections.countDistinct("insuranceName")));
      List distList = crit.list();
      System.out.println("Distinct Count:  "+ distList);
    }
    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 count(*) as y0_ from insurance this_

No. of rows: [7]

Hibernate: select distinct count(distinct this_.insurance_name) as y0_ from insurance this_

Distinct Count: [5]

                         

» View all related tutorials
Related Tags: sql c class ui select framework static build application io methods types general method sed type factory new criteria applications

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 

Current Comments

3 comments so far (
post your own) View All Comments Latest 10 Comments:

This site is good tutorial.

Posted by sniperCat on Friday, 04.18.08 @ 13:34pm | #57021

crit.setProjection(Projections.distinct(Projections.countDistinct("insuranceName")));

there is a error in the above line of code when i run the program.

However, if i remove the Projections.distinct function it work fine with correct result.

Posted by Nelson on Saturday, 03.22.08 @ 21:54pm | #53816

here explained too easily about hibernate tools to use orm mapping.. this is useful for beginners to guide.thanks to roseindia..

Posted by RuthraMoorthy.P From Annur on Monday, 03.10.08 @ 18:34pm | #52206

Training Courses
Tell A Friend
Your Friend Name
Website Designing Services
 
Web Designing Packages From $150!
 
Website Designing Company Web Hosting
 
Website Designing Quotation
 
Search Tutorials:

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.