Доброго времени суток.
На проекте используем технологии из сабжа + postgres, в контроллере истории понадобилось возвращать не только сами данные из таблицы истории, но и кол-во этих данных в одном запросе, для правильного разбиения вывода на страницы.
В идеальном случае, я бы написал просто select h.*, count(1) over() from history h where ...
но запросы составляем через заполнение Criteria.
В доках пишут нечто вроде
Criteria c = hibernateSession.createCriteria(History.class);
ProjectionList proList = Projections.projectionList();
proList.add(Projections.sqlProjection("count(1) over() as count", new String[] { "count" },new org.hibernate.type.Type[] {StandardBasicTypes.LONG }));
c.setProjection(proList);
proList.add(Projections.groupProperty("id"),"id");
как это можно победить?
сейчас сделал так, как написано выше, ещё вариант сделать через динамическое добавление полей рефлекшном, но это тоже не очень хорошо.