我是Hibernate Criteria Queries的新手,我很难根据月份来计算。
session.createCriteria(Task.class)
.add(Restrictions.eq("completed", true))
.add(Restrictions.in("site", sites))
.setProjection(Projections.rowCount()).uniqueResult();
//group by "completedTime"
如果我必须根据completedTime获得计数组按月。 我怎样才能实现这个目标
答案 0 :(得分:0)
请尝试以下代码
Criteria criteria = session.createCriteria(Task.class);
criteria.add(Restrictions.eq("completed", true));
criteria.add(Restrictions.in("site", sites));
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.rowCount());
projectionList.add(Projections.groupProperty("month"));
criteria.setProjection(projectionList);
criteria.addOrder(Order.asc("completedTime"));
您需要创建projectionList以在其中添加投影列。
编辑1
projectionList.add(Projections.property("month"));
也可以在projectionList中添加月份,以便您可以检索该值。