2 mingyb3 mingyb3 于 2016.05.03 20:47 提问

Hibernate中hql如何使用聚合函数sum和group by组合查询!

背景:有一张记录各个班级的成绩表;
目的:需要使用hql查询出各个班级对应的总分;

表对应的类:
public class One_Class implements Serializable {

private String address;
private String subject;
private String classes;
private int score;

//get和set方法省略;
//构造方法:
    public One_Class(String classes,int score) {
    this.classes=classes;
    this.score=score;
}

}

//测试方法:
    @Test
public void query() {
    Transaction tx = null;
    Session session = null;
    session = HibernateUtils.getSession();
    tx = session.beginTransaction();
    try {
    //我的想法是通过构造方法 将查询的值传入;但是不行;还请高手指导,分组+sum如何实现?谢谢!
        String hql = "select new One_Class(classes,sum(score)) from One_Class group by classes";
        System.out.println(hql);

        Query query = session.createQuery(hql);
        List<Object[]> list = query.list();
        System.out.println(list.get(0));

        int row = list.size();
        System.out.println(row);
        tx.commit();
    } catch (HibernateException he) {
        he.printStackTrace();
        if (tx != null) {
            tx.rollback();
        }
    } finally {
        HibernateUtils.closeSession(session);
    }
}

1个回答

CSDNXIAOD
CSDNXIAOD   2016.05.03 20:52

group by ,having, 聚合函数的使用
hibernate分组与聚合查询(原生sql和使用case when then else end的hql)
Oracle-24-聚合函数&group by的使用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片