Использование Min, Max и Count на HQL - PullRequest
6 голосов
/ 01 декабря 2008

Поддерживает ли Hibernate HQL-запросы использование select min, max, count и других функций sql?

как:

select min(p.age) from person p

Спасибо

Ответы [ 3 ]

12 голосов
/ 01 декабря 2008

Да, min(), max() и count() поддерживаются в HQL.

см. агрегатные функции в документе Hibernate.

5 голосов
/ 01 июля 2010

вот как я использую max в Hibernate:

public long getNextId(){
long appId;         
try{
            Session session = HibernateUtil.getAdmSessionFactory().getCurrentSession();
            Transaction t = session.beginTransaction();
            String sequel = "Select max(JAdmAppExemptionId) from JAdmAppExemption";
            Query q = session.createQuery(sequel);
            List currentSeq = q.list();
            if(currentSeq == null){
                return appId;
            }else{
            appId = (Long)currentSeq.get(0);
            return appId+1;
            }

        }catch(Exception exc){
            System.out.print("Unable to get latestID");
            exc.printStackTrace();

        }
        return 0;

    }
2 голосов
/ 01 декабря 2008

Поддерживаются некоторые агрегатные функции: см. Руководство

...