我从网上看到
Hibernate查询记录条数
hsql = "select count(*) from LoveList" 
return ((Integer)session.createQuery(hsql).iterate().next()).intValue();
优化后可以写成
hsql = "select count(id) from LoveList",id为对象的主键。
但这个我会有错误 java.lang.ClassCastException:java.lang.Long
的错误
我又不是用  LONG   类型的  为什么会出这个错误!后来我用 简单的 自己想的办法
sql="from Customer"
Query query=s.createQuery(sql);
rows=query.list().size();
为什么这么简单的 写法 没人用啊
是不是 有问题啊

解决方案 »

  1.   

    count计数确实是Long类型,你把他强制转换成Integer当然错了。
      

  2.   

    return (session.createQuery(hsql).uniqueResult()).intValue(); 
      

  3.   

    query.list().size();
    要返回整个列表后才知道size啊
      

  4.   

    return (session.createQuery(hsql).uniqueResult()).intValue(); 
    这种我也 写过的 
    也是错的
    query.list().size(); 
    要返回整个列表后才知道size啊
    返回整个列表  不就知道了   总条数了吗?
    这样  不好 ?
    我学了  不久   所以 不是很懂    呵呵 
      

  5.   

    up:)
    结果是没错 如果有10W条数据你看你服务down不 
      

  6.   

    hsql = "select count(*) from LoveList" 
    return ((Long)session.createQuery(hsql).uniqueResult()).intValue(); 反正是这种写法,没错的。