#java #postgresql
Вопрос:
У меня есть таблица strStat
в базе данных, я хочу суммировать 2 столбца и сгруппировать их.Для этого я написал этот сценарий:
select str_id , sum(count),sum(max_count) from str_stat group by str_id ,count,max_count;
И я не могу найти, как это реализовать с помощью hibernate.Я видел , что с этим было сделано createCriteria
, но теперь он пишет, что это уже устарело .Как мне реализовать такой сценарий?
я написал такую функцию, но она не работает:
public Listlt;Object[]gt; getSumAndGroupByStats() { CriteriaBuilder builder = sessionFactory.getCriteriaBuilder(); CriteriaQuerylt;Object[]gt; query = builder.createQuery(Object[].class); Rootlt;strStatgt; product = query.from(strStat.class); query.multiselect( product.get("strId"), product.get("count"), product.get("maxCount"), builder.lt;Integergt;sum(product.lt;Integergt; get("count")), builder.lt;Integergt;sum(product.lt;Integergt; get("maxCount"))); query.groupBy(product.get("strId")); query.groupBy(product.get("count")); query.groupBy(product.get("maxCount")); return sessionFactory.getCurrentSession().createQuery(query).getResultList(); }