-1 查询结果 NULL N/A
select name from user where id=1;
为空 N/A:不存在id为1的用户
为NULL:存在id为1的用户,但是用户的name没有值
0. 查询为空时,得到空列表。
1. sum() java.math.BigDecimal cannot be cast to java.lang.Integer
原因
hibernate使用sum()在mysql进行查询时,会得到 java.math.BigDecimal类型。
解决办法
用Object接收,通过 Integer.parseInt (obj.toString ())得到int
用BigDecimal接收,通过 BigDecimal.intValue ()得到int
2. hibernate sum()得到list[null]
原因
sum()在查询没有值的时候返回null,而不是正常情况的空N/A
解决办法
select coalesce(sum(num_used_success),0) zong from biao;
ifnull(sum(),0)
coalesce:返回参数列表中第一个为空的值,该方法允许传入多个参数
3. sum()
- 没有查询结果时。
select sum(num) from biao;
List<Object>时会得到List[null],此时长度为1
select sum(num),sum(age) from biao;
List<Object[]>时会得到List[List[null,null]],此时长度为1 - 有查询结果时,得到类型java.math.BigDecimal【对int和decimal都是得到这样的】