问题描述:
今天使用hibernate进行统计数量报错。
String sql ="select count(b.key_) as num from act_hi_procinst a inner join act_re*****";
Map paramMap =new HashMap(1);
paramMap.put("pipId", pipId);
Map maps =reportService.runSqlQueryUnique(sql, paramMap);
Integer num =(Integer) maps.get("NUM");
问题分析:
默认count统计数量返回的是BigDecimal类型的数据。这里无法从BigDecimal强转Integer。
解决方案:
BigDecimal num =(BigDecimal) maps.get("NUM");
if(num ==null){
num =new BigDecimal(0);
}
return String.valueOf(num);