paginationCode(hibenagte蛍匈) - 園殻秘壇利
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-20
) - 1; } public int getPageSize() { return pageSize; } public int getPageNumber() { return pageNumber; } public static HibernatePage getHibernatePageInstance(Query query, int pageNumber, int pageSize) { return getHibernatePageInstance(query, pageNumber, pageSize, ApplicationState.platformConfiguration.driver_class); } public static HibernatePage getHibernatePageInstance(Query query, int pageNumber, int pageSize, String driverClass) { if (jdbcClassesSupportingScrollCursors.contains(driverClass)) return HibernatePage.getScrollPageInstanceWithTotalByScroll(query, pageNumber, pageSize); else return HibernatePage.getScrollPageInstanceWithTotalByList(query, pageNumber, pageSize); } /** * Construct a new HibernatePage. HibernatePage numbers are zero-based so the * first page is page 0. * * @param query the Hibernate Query * @param pageNumber the page number (zero-based); * if Integer.MAX_VALUE will return the last page for the query * @param pageSize the number of results to display on the page */ protected static HibernatePage getScrollPageInstanceWithTotalByScroll(Query query, int pageNumber, int pageSize) { HibernatePage sp = new HibernatePage(pageNumber, pageSize); try { sp.scrollableResults = query.scroll(ScrollMode.SCROLL_SENSITIVE); sp.scrollableResults.last(); sp.totalElements = sp.scrollableResults.getRowNumber(); sp.determineElements(query); } catch (HibernateException e) { sp.getLogger().error("Failed to create ScrollPage by getScrollPageInstanceWithTotalByScroll: " + e.getMessage()); throw new PlatformRuntimeException(e); } return sp; } /** * Construct a new HibernatePage. HibernatePage numbers are zero-based so the * first page is page 0. * * @param query the Hibernate Query * @param pageNumber the page number (zero-based); * if Integer.MAX_VALUE will return the last page for the query * @param pageSize the number of results to display on the page */ protected static HibernatePage getScrollPageInstanceWithTotalByList(Query query, int pageNumber, int pageSize) { HibernatePage sp = new HibernatePage(pageNumber, pageSize); try { sp.scrollableResults = query.scroll(ScrollMode.FORWARD_ONLY); sp.totalElements = sp.calculateTotalElementsByList(query); sp.determineElements(query); } catch (HibernateException e) { sp.getLogger().error("Failed to create ScrollPage by getScrollPageInstanceWithTotalByQuery: " + e.getMessage()); throw new PlatformRuntimeException(e); } return sp; } private void determineElements(Query query) throws HibernateException { if (Integer.MAX_VALUE == this.pageNumber) th |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于paginationCode(hibenagte蛍匈) - 園殻秘壇利的所有评论