Hibernate使用distinct返回不重复的数据,使用group by 进行分组
distinct使用
public list<String> distinctDutyDate() { String hql="select distinct(dutyDate) from TestInfo"; 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 TotalInfoSubmit
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;
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


