日期:2014-05-17  浏览次数:20797 次

hibernate获取select sum时的错误
在执行Query query = session.createQuery(hql);这句时提示出错
java.lang.NullPointerException at org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$SumFunction.determineJdbcTypeCode(StandardAnsiSqlAggregationFunctions.java:145)

后台输出hql语句是select sum(num) from t_kucun,之后就提示出错了
但是hql换成select sum(num*price) from t_kucun就不会出错
数据库中num和price都是float类型
后来我试了一下把hql改成select sum(num*1.0) from t_kucun就不会出错了

为什么加个*1.0就没错误了,createQuery时跟int float有关系?

------解决方案--------------------
num字段

数据库类型跟pojo类型不一致
------解决方案--------------------
select sum(t.num) from t_kucun t

试试这句可以不.

感脚num是数据库函数
------解决方案--------------------
t_kucunt应该是表名吧,感觉你写的是原生sql,改成createSqlQuery()试试