Я исправил проблему, используя HQL, и она отлично работает.
Но мне нравится Criteria API.(У меня есть несколько операторов ifs в строке запроса для HQL, да) Видимо, Projection.sum (свойство) возвращает double.
Мой класс сущности имеет
@Column(name = "current_volume")
private Integer currentVolume;
Я получаю ошибку:
org.hibernate.PropertyAccessException: IllegalArgumentException произошла при вызове сеттера se.unox.pejl.entity.value.pejl.PejlDataTrendValue.currentVolume.
Мой эквивалентный рабочий hql
select cast(sum(p.currentVolume/1000) as integer) as currentVolume from
se.unox.pejl.entity.value.pejl.PejlDataTrendValue as p
Я думаю, что знаю, в чем проблема, но не могу понять, как разыгратьсумма столбцов (который является INT (11) в MySQL) в целое число.Видимо, в NHibernate есть Projection.Cast
Я использую Hibernate 3.6