有人可以帮助我找到一种方法,使用Array
获得包含计数记录的<date_field>
。我需要计算12个月之前的每条记录,如果不存在记录,则将零放入数组中。
这是我在java + hibernate中的基本代码:
public Integer[] getViewsPerMonths() {
Query query = sessionFactory.getCurrentSession().createQuery("");
Integer[] viewsPerMonths = (Integer[])query.list().toArray();
return viewsPerMonths;
}
表示例:
Id | View_Date |
1 01-01-2014
2 02-01-2014
3 03-01-2014
4 03-01-2014
期望的结果:
Count | Month
1 1
1 2
2 3
我正在使用MySQL
...谢谢
答案 0 :(得分:0)
为了获得一般的计数,代码看起来像这样:
CriteriaQuery<Long> countQuery = queryBuilder.createQuery(Long.class);
countQuery.select(criteriaBuilder.count(countQuery.from(clas)));
countQuery.where(condition);
count = entityManger.createQuery(countQuery).getSingleResult();
&#34;条件&#34;这将是你的Predicate对象。类似的东西:
condition = criteriaBuilder.between(v, x, y)