Hibernate使用distinct返回不重复的数据,使用group by 进行分组

 

//distinct使用

复制代码
public List<String> distinctDutyDate() {
        String hql="select distinct(dutyDate) from DoctorDuty";
        Query query=getSession().createQuery(hql);
        List list= query.list();
        Iterator it= list.iterator();
        List<String> list1=new ArrayList<String>();
        while(it.hasNext()){
            String dutyDate=it.next()+"";
            list1.add(dutyDate);
        }
        return list1;
    }
复制代码

 

 

//group by使用

复制代码
public List<YearMonthDTO> getYearMonthByUserId(Integer userId, String submitType) {
        String hql="select submitYear,submitMonth from TotalBranchSubmit where userId=:userId and submitType=:submitType group by submitYear,submitMonth ";
        Query query = getSession().createQuery(hql)
                .setParameter("userId",userId)
                .setParameter("submitType",submitType);
        List list= query.list();
        Iterator it= list.iterator();
        List<YearMonthDTO> list1=new ArrayList<>();
        while(it.hasNext()){
            Object[] res=(Object[]) it.next();
            YearMonthDTO dto=new YearMonthDTO();
            String year=res[0]+"";
            String month=res[1]+"";
            dto.setYear(year);
            dto.setMonth(month);
            list1.add(dto);
        }
        return list1;
    }
复制代码

 

posted @   yvioo  阅读(964)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示