论坛首页 入门讨论版 Hibernate

hibernate 分页 get count 方法

浏览 213 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2008-07-23
public static int getCount(Query query)   
  
 if(query==null)   
 {   
  return 0;   
 }   
 ScrollableResults rs=query.scroll(ScrollMode.SCROLL_INSENSITIVE);   
 rs.last();   
 return (rs.getRowNumber()+1); 


上面代码是我在做分页时取得结果集总行数,但我在此论坛上看到很多人都是用

select count(*) from table_name where .....  


去取得的,是不是我这样写有效率问题,还是没人发觉有这样的写法?请告知。
   
最后更新时间:2008-07-23
肯定有关效率。
select count(*) 只负责返回一个值,而你的query可能是一个复杂的sql语句。返回若干条记录。采用哪个好比较明显。
   
0 请登录后投票
最后更新时间:2008-07-23
为什么不直接用query.list().size
   
0 请登录后投票
最后更新时间:2008-07-23
楼上的用法很诡异。所有记录都被你取出来了!!
   
0 请登录后投票
论坛首页 入门讨论版 Hibernate

跳转论坛:
JavaEye推荐