1
У меня есть запрос проекции SQL, который возвращает список, но мне нужен единственный результат. Вот мой Проекция запрос:Как использовать запрос проектирования Hibernate SQL?
Criteria criteria = getCurrentSession().createCriteria(TbLoyaltytrans.class)
.add(Restrictions.eq("custid", custId))
.setProjection(Projections.projectionList()
.add(Projections.sum("pointin").as("pointin"))
.add(Projections.sum("pointout").as("pointout"))
.add(Projections.sqlProjection(
"(pointin - pointout) as points",
new String[]{"points"},
new org.hibernate.type.DoubleType[]{
new org.hibernate.type.DoubleType()
}),
"points")
);
Я хочу, чтобы один объект, т.е .: count
из приведенного выше запроса.
Что я сделал не так с вышеуказанным запросом?
я получил анс я просто вернуться '(Object []) criteria.uniqueResult()' и перебирать это как я понимаю, с помощью проекции вы получите три результата, как выход в выше 1 запроса, если для 'Projections.sum (» pointin "). as (" pointin ")' sencond для 'Projections.sum (« pointout »). as (« pointout »)), и последний из них - это ваш вывод SQLprojection, который я хочу, чтобы итерировать этот массив и получить третий как «Double reedeemPoints = new Double (obj [2] .toString())», и он работает на меня, спасибо за ваш ans –
Если это действительно сработало, вы можете принять его ответ. Благодаря! – another