java.sql.SQLException: The value supplied cannot be converted to DECIMAL 解决方法

Java代码   收藏代码
  1. SELECT  max(measure_time) as str2,avg(temperature) as stravg FROM weather_equipment_data_1 WHERE 1>0  AND MEASURE_TIME BETWEEN '2008-04-17 10:12:44' AND '2008-04-17 10:14:44'  group by ((DATEDIFF(second,'1970-01-01',MEASURE_TIME)-1) / 5)   

这段sql描述了按在这两个时间范围之内按5秒钟统计temperature平均值。 
在sqlserver中运行一切正常。 
但是在hibernate中执行Query query = session.createSQLQuery(sql)却报错为 
java.sql.SQLException: The value supplied cannot be converted to DECIMAL 

解决方法: 
Java代码   收藏代码
  1. Query query = session.createSQLQuery(sql)  
  2. .addScalar("str2",Hibernate.STRING)  
  3. .addScalar("stravg",Hibernate.STRING);  

将两个查询字段分别强制转为hibernate string之后运行正常。 

你可能感兴趣的:(java)