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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 永磁型步进电机PID算法
    • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
    • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
    • ¥15 如何处理复杂数据表格的除法运算
    • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
    • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
    • ¥200 uniapp长期运行卡死问题解决
    • ¥15 latex怎么处理论文引理引用参考文献
    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?