java.math.BigDecimal cannot be cast to java.lang.Integer

问题描述:

    今天使用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);

你可能感兴趣的:(java.math.BigDecimal cannot be cast to java.lang.Integer)