gpt4 book ai didi

hibernate - Hibernate 相当于 Projections.Cast 的是什么?

转载 作者:行者123 更新时间:2023-12-02 23:07:06 25 4
gpt4 key购买 nike

我已经使用 HQL 解决了我的问题,并且效果很好。

但我确实喜欢 Criteria API。 (我的 HQL 查询构建器字符串中有一些 ifs 语句,哎呀)显然 Projections.sum(property) 返回 double 。

我的实体类有

@Column(name = "current_volume")   
private Integer currentVolume;

我得到的错误是

org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of 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

最佳答案

基于this blog post (除非在 3.5 和 3.6 之间进行了更改),Projections.sum 的返回类型取决于要求和的属性的属性类型:

for properties mapped as Long, Short, Integer, or primitive integer types, a Long value is returned;

for properties mapped as Float, Double, or primitive floating point types, a Double value is returned.

如果您想覆盖 native 功能,follow the answer in this post .

关于hibernate - Hibernate 相当于 Projections.Cast 的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com