Home Hibernate Hibernate Avg() Function (Aggregate Functions)
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

Hibernate Avg() Function (Aggregate Functions)

Advertisement
In this section, we will show you, how to use the avg() function. Hibernate supports multiple aggregate functions.

Hibernate Avg() Function (Aggregate Functions)

     

In this section, we will show you, how to use the avg() function. Hibernate supports multiple aggregate functions. When they are used in HQL queries, they return an aggregate value ( such as avg(...), sum(...), min(...), max(...) , count(*), count(...), count(distinct ...), count(all...) ) calculated from property values of all objects satisfying other query criteria. 

Following is a aggregate function (avg() function) with their respective syntax.

avg( [ distinct | all ] object.property):

The avg() function aggregates the average value of the given column. 

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 java code to retrieve the average value of "invested_amount" column from insurance table:

package roseindia.tutorial.hibernate;

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

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateHQLAvgFunction {

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

  Session sess = null;
  try {
  SessionFactory fact = new Configuration()
.configure().buildSessionFactory();
  sess = fact.openSession();
  String SQL_QUERY = "select avg
(investementAmount) from Insurance insurance"
;
  Query query = sess.createQuery(SQL_QUERY);
  List list = query.list();
  System.out.println("Average of 
Invested Amount: " 
+ list.get(0));
  }
  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 avg(insurance0_.invested_amount) as col_0_0_ from insurance insurance0_

Average of Invested Amount: 7342.8571

Advertisements

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: February 27, 2008

Ask Questions?    Discuss: Hibernate Avg() Function (Aggregate Functions)   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
krishan
August 7, 2012
result in null value

this program whwn executed returns null...plz give some solution...
raju
July 24, 2013
getting null as o/p

Hi i'm getting null as output instead avg. tried this way also.. Iterator it = list.iterator();//way 2 System.out.println("avgPrice"); while(it.hasNext()) { System.out.println(it.next()); } but same result
raju
July 24, 2013
solution: for null result

In the query. give as eg: select avg(ins.investementAmount) from Insurance ins reference.property
Pham Tu
August 11, 2013
This program throw null pointer ex

This program throw null pointer ex in this line of code List list = query.list(); So, please tell me why?
DMCA.com