Hibernate Max() Function (Aggregate Functions)

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());
}
}
}
|
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
max(insurance0_.invested_amount) as col_0_0_ from insurance insurance0_
Max Invested Amount: 25000
|

|