mingyb3 2016-05-03 12:47
浏览 6236

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);
    }
}
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误