select sum(c.money) from HtBill c left join c.htUserInfoByUserId u left join c.htUserInfoByUserId.htUserDepart p left join c.htUserInfoByUserId.htCity ct where 1=1
当数据库里有记录的时候,不报错!
当数据库里没有记录的时候报错null exception!
求和的方法为
Session session = super.getHibernateTemplate().getSessionFactory().openSession();
List list = session.createQuery(hql).list();
Number num = (Number) list.get(0);
if(num.equals("0") || num.equals("") || num==null){
return 0;
}else{
return num.intValue();
}
已经防止没有结果的时候出现null了!
还是报错如下:
java.lang.NullPointerException
这一句代码的原因呢
最好是先判断一下是否有取到结果集
再有就是 我个人习惯还是在sql里过滤数据 Oracle数据库的用 NVL函数过滤一下空不是更好么 直接替换为0 这样就省去你在代码里的if-else了