posts - 40,  comments - 4,  trackbacks - 0

使用Hibernate的sum函数进行数据的统计时,出现一个错误:

 

String sql = "select SUM(nf.fee) from CFee as nf where   nf.adminAccount='testaccount' ";   
public long getListSqlCountsLong(String sql) {   
        beginTransaction();   
        List li 
= getSession().createQuery(sql).list();   
        
if (li == null || li.isEmpty()) {   
            
return 0;   
        }
 else {                        return ((Integer) li.get(0)).longValue();   
        }
   
    }
 
这样使用报null错误.
List的size明明等于1,但li.get(0)还是为空.(数据库中查询的账号sum本来就为null??可能是.)
解决方法:
String sql = "select SUM(nf.fee) from CFee as nf where   nf.adminAccount='testaccount' ";   
public long getListSqlCountsLong(String sql) {   
        beginTransaction();   
        List li 
= getSession().createQuery(sql).list();   
        
if (li == null || li.isEmpty()) {   
            
return 0;   
        }
 else {       
                
if (li.get(0== null{   
                
return 0;   
            }
   
            
return ((Integer) li.get(0)).longValue();   
        }
   
    }
  
解决方法很简单,就是增加一个判断就可以了,如果li.get(0)为空,则返回0,不为空,返回值.
posted on 2008-05-09 13:17 larryjava 阅读(4005) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: