hibernate分页查询的问题 10
publicList<Zp02>readListZp02(intoffset,intlength,HttpServletRequestrequest){List<Zp02...
public List<Zp02> readListZp02(int offset, int length,HttpServletRequest request) {
List<Zp02> list;
System.out.println("1");
list=this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("from zp02").setFirstResult(offset).setMaxResults(length).list();
System.out.println("2");
return list;
}
我的代码是这样写的,但是执行完毕以后,可以输出1,但是无法输出2.这是为什么?其他的地方我都看了,也没有什么问题. 展开
List<Zp02> list;
System.out.println("1");
list=this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("from zp02").setFirstResult(offset).setMaxResults(length).list();
System.out.println("2");
return list;
}
我的代码是这样写的,但是执行完毕以后,可以输出1,但是无法输出2.这是为什么?其他的地方我都看了,也没有什么问题. 展开
2个回答
展开全部
利用hibernate操作数据库时,因为这个框架提供的是面向对象的数据库查询方式,内部的表映射为类(通过hibernate的逆向工程,反转得到的数据库映射文件中有配置,如:类名.hbm.xml,配置的有映射类和数据库表中的对应关系),hibernate会自动搜寻这样的配置文件,并解析,然后映射出数据库表的操作。你这里的查询语句中表的名称为Zp02(映射出的类名)
还是不行,试试将”this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("from zp02").setFirstResult(offset).setMaxResults(length).list();“ 拆分,看有没有什么对象是空的或是什么其他的原因,对了,你那个控制台报错没??
还是不行,试试将”this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("from zp02").setFirstResult(offset).setMaxResults(length).list();“ 拆分,看有没有什么对象是空的或是什么其他的原因,对了,你那个控制台报错没??
追问
已经改为大些了,可是还是不执行,后台也不报错.
追答
试试这样的方式:
Query query = session.createQuery(sqlString);
query.setFirstResult(pageSize*(pageNumber-1));
query.setMaxResults(Math.min(pageNumber*pageSize,total));
return query.list();、
对了!别把包导错了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询