Hibernate中条件查询的困惑!

小弟正着手一个项目的开发,由于需要用hibernate,所以开始学习使用!
项目中不可避免的要用到分页,在多方查找资料后,决定使用hibernate的条件查询!
但是在调试中遇到了不少的问题,希望各位大人指点!
首先我的类继承了HibernateDaoSupport
分页查询的方法如下
public PageBean findAllByCriteria(final DetachedCriteria detachedCriteria,
final int pagesize, final int startIndex) {
return (PageBean) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria executableCriteria = detachedCriteria.getExecutableCriteria(session);


int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
PageBean pb=new PageBean(list,totalCount,pagesize,startIndex);
return pb;
}
}, true);
}
PageBean 为我的分页bean
问题是这样出现的
int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
这样的语句顺序执行后,freemarker不能够获取list中保存的对象,用下面的语句
Iterator it = list.iterator();
while(it.hasNext()){
Person_test p=(Person_test)it.next();
System.out.println(p.getID());
}运行时 控制台会报 类异常错误,如果使用泛行,编译器直接就报错!

如果语句顺序调换即变成这样
List list=executableCriteria.setFirstResult((startIndex-1)*pagesize).setMaxResults(pagesize).list();
int totalCount = ((Integer) executableCriteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
executableCriteria.setProjection(null);

此时当startIndex=1时,语句正常执行,当startIndex>1时
int totalCount = ((Integer)...
则会报空指针错误!

各位大人帮忙看下,我疏忽了哪里的编码!谢谢了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值