Hibernate的findAll语句可查询出全部记录,count函数可以查出全部记录的总数,查两次效率低,有好方法吗?

Hibernate的hql分页查询问题,findAll语句可以查询的全部分页记录,count函数可以查出全部记录的总数!但是,当我想同时获得两个结果的时候,就要调用dao... Hibernate的hql分页查询问题,findAll语句可以查询的全部分页记录,count函数可以查出全部记录的总数!但是,当我想同时获得两个结果的时候,就要调用dao方法两次,有什么一劳永逸的方法,只是查询dao的分页,就可以获得全部记录的总数?hibernate的缓存机制可以吗? 展开
 我来答
qqqqanje
2011-12-22 · TA获得超过262个赞
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:78.4万
展开全部
先一个page类
public class Page<T> {
/** 分页数据 * */
private List<T> records;

private int start;

private int limit;

/** 总记录数 * */
private int totalRecord;

public Page(int start, int limit) {
super();
this.start = start;
this.limit = limit;
}
}//get set 略

然后分页的时候是这样写地
public Page statisticsDept(Integer start ,Integer limit) {

final Integer fin_start = start;
final Integer fin_limit = limit;
final String sqlContext = "xxxx";
Page page =new Page();
page.setRecords((List)super.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
Query query = session.createSQLQuery(sqlContext);
query.setFirstResult(fin_start);
query.setMaxResults(fin_limit);

return query.list();
}
}
));
page.setTotalRecord(this.statisticsDept());
return page;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
自由自在lsf
2011-12-14
知道答主
回答量:18
采纳率:0%
帮助的人:7.3万
展开全部
不能因为你你count时有你前面的*被替代的列名要相同,不然你就只有写两条
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式