Home Hibernate Hibernate Group by Clause
Questions:Ask|Latest

 
 

Share on Google+Share on Google+

Hibernate Group by Clause

Advertisement
In this tutorial we will discuss about Hibernate group by with example.

Hibernate Group by Clause

In this tutorial we will discuss about Hibernate group by with example.

Hibernate group by :

Hibernate supports concept of group by. In general ,Group by clause Takes information from database ant group it based on a value of an attribute and typically, use the result to include an aggregate value.
It returns aggregate values which is grouped by any property of a returned class or component.

In Hibernate you can write group by query by using HQL ,Criteria or native SQL.

UsingHQL -

String hql="SELECT designation ,sum(salary) FROM Employee emp GROUP BY emp.designation";
Query query=session.createQuery(hql);

Using Criteria -

Criteria criteria=session.createCriteria(Employee.class);
ProjectionList projectionList=Projections.projectionList();
projectionList.add(Projections.sum("salary"));

Example : In this example Employee is our persistent class mapping employee_detail table. We are calculating sum of salary grouping by designation using HQL .

 

package net.roseindia.application;

import java.util.Iterator;
import java.util.List;
import net.roseindia.util.HibernateUtil;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class HibernateGroupBy {
public static void main(String []args){
SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
try{
Session session=sessionFactory.openSession();
String hql="SELECT designation ,sum(salary) FROM Employee emp GROUP BY emp.designation";
Query query=session.createQuery(hql);
List<Object> list=query.list();
Iterator iterator=list.iterator();
System.out.println("Designation\tTotal Salary");
while(iterator.hasNext()){
Object []obj = (Object[])iterator.next();
System.out.print(obj[0]);
System.out.print("\t\t"+obj[1]);
System.out.println();
}
}catch(HibernateException e){
e.printStackTrace();
}
}
}

Output :

Hibernate: select employee0_.designatiom as col_0_0_, sum(employee0_.salary) as col_1_0_ from employee_record employee0_ group by employee0_.designatiom
Designation    Total Salary
JSE            10000.0
PM             50000.0
SE             35000.0
SSE            25000.0
TL             30000.0

Click here to download complete source code

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



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: July 30, 2012

Related Tutorials

Ask Questions?    Discuss: Hibernate Group by Clause  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
DMCA.com