hibernate mysql

-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都是得到这样的】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值