Hibernate分页查询代码:
Query query = getSession().createSQLQuery(sql).addEntity("app", Application.class)
.addEntity("g", Gameversion.class);
query.setParameter(0, id);
query.setParameter(1, ua);
query.setParameter(2, platform);
PageControl pc = PageThreadLocal.getPagination();
query.setMaxResults(pc.getPagesize());
query.setFirstResult((pc.getPageno() - 1) * pc.getPagesize());
List<Object[]> resultlist = query.list();
代码基于sql查询,
createSQLQuery(sql)
返回一个SQLQuery。
.addEntity("app", Application.class)
.addEntity("g", Gameversion.class);
表示查询返回的结果是Application和Gameversion两个对象组成的数组,"app"和"g"表示sql语句中对应表的别名。
PageControl pc = PageThreadLocal.getPagination();
这端代码从ThreadLocal中获取当前线程的PageControl对象。
最后通过调用:
query.setMaxResults(pc.getPagesize());
query.setFirstResult((pc.getPageno() - 1) * pc.getPagesize());
设置本次查询的记录范围
Hibernate分页查询解析
本文介绍了使用Hibernate进行分页查询的具体实现方式,包括SQL查询语句的创建、实体类的映射以及分页参数的设置等关键技术点。
3887

被折叠的 条评论
为什么被折叠?



