In this section, we will show you, how to use the Max() 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 (max() function) with their respective syntax.
max( [ distinct | all ] object.property)
The Max() function aggregates the maximum 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 |
6 | Life Insurance | 900 | 2003-01-01 00:00:00 |
7 | Travel Insurance | 2000 | 2005-02-02 00:00:00 |
Here is the java code to retrieve the maximum 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.Transaction;
import org.hibernate.cfg.Configuration;
public class HibernateHQLMaxFunction {
/**
* mail_mevinod@yahoo.co.in
*/
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
max(investementAmount)from Insurance insurance";
Query query = sess.createQuery(SQL_QUERY);
List list = query.list();
System.out.println("Max
Invested Amount: " + list.get(0));
sess.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
0 comments:
Post a Comment