jianfeng008cn 发表于 2013-1-30 02:11:26

springside学习中遇到的问题

本想发在新手版上,又怕没人回答,麻烦指点后再帮我投新手贴,谢谢。
学习springside时候遇到个问题,问题如下:
HibernateGenericDao中
/** * 分页查询函数,使用hql. * * @param pageNo 页号,从0开始. */ public Page pagedQuery(String hql, int pageNo, int pageSize, Object... values) { Assert.hasText(hql); //Count查询 String countQueryString = " select count (*) " + removeSelect(removeOrders(hql)); List countlist = getHibernateTemplate().find(countQueryString, values); long totalCount = (Long) countlist.get(0);if (totalCount < 1) return new Page(); //实际查询返回分页对象 int startIndex = Page.getStartOfPage(pageNo, pageSize); Query query = getQuery(hql, values); List list = query.setFirstResult(startIndex).setMaxResults(pageSize).list();return new Page(startIndex, totalCount, pageSize, list); }
中为什么这句
String countQueryString = " select count (*) " + removeSelect(removeOrders(hql));

需要先removeSelect?我们的sql不是可以这样的吗

select count (*) from (select ...)


后记:hibernate的设计原理还没看透,没有好好学习一下hibernate的官方文档(学习要塌实http://www.agoit.com/images/smiles/icon_biggrin.gif ),不过到现在还没有兄弟秀一个好的解决方法出来哦
页: [1]
查看完整版本: springside学习中遇到的问题