【发布时间】:2011-11-06 14:40:27
【问题描述】:
我已经使用 HQL 解决了我的问题,并且效果很好。
但我确实喜欢 Criteria API。 (我的查询构建器字符串中有一些 ifs 语句用于 HQL,呸) 显然 Projections.sum(property) 返回双倍。
我的实体类有
@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
我想我知道问题出在哪里,但无法弄清楚如何将列的总和(在 mysql 中为 INT(11))转换为整数。显然 NHibernate 有 Projections.Cast
我使用的是 Hibernate 3.6
【问题讨论】:
标签: hibernate