hibernate DetachedCriteria 查询问题

问题描述

看了 robbin 的 应用Hibernate3的DetachedCriteria实现分页查询 的帖子。我用struts2 在 想做分页 。jsp页面的分页功能就是不能实现。action 的部分,我不会写。在action 里,ps.getPageSize();ps.getNextIndex();的值都能正常现实。但是就是jsp页面 不分页。我把action 的代码 传上public String execute() throws Exception { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Goods.class); int pageSize = 5;int startIndex = 0;ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize, startIndex);System.out.println("pspspspspsps"+ps);if(null != ps){ps.getPageSize();ps.getNextIndex();ps.getPreviousIndex();ps.getStartIndex();ps.getIndexes();ps.getItems();ps.getTotalCount();希望 哪位好心人 指点一下 谢谢我已经没有分了。所以就不能给您分了。不好意思。问题补充:谢谢 icewubin 的回答。我把问题补充以下我的findpageByCriteria(detachedCriteria, pageSize, startIndex); 的方法是按照robbin 写的。在action 出现的问题的。1,System.out.println(ps.getPageSize()); 等东西的值是可以正常显示的。2,但是 ,jsp页面 的,就是没有分页的功能。仍然是把查询的结果全部显示出来了。我觉得好像 是不是 action 和jsp 都有问题呀。我是初学者真是搞不懂 问题补充:我把action 的主要内容在发一下public String execute() throws Exception {int pageSize = 5;int startIndex = 0;DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Goods.class);if(null!=getCategory()){detachedCriteria.add(Restrictions.in(("category"), getCategory())).add(Restrictions.between(("price"), getMinPrice(),getMaxPrice())).addOrder(Order.asc("price"));}else {detachedCriteria.add(Restrictions.between(("price"), getMinPrice(), getMaxPrice())).addOrder(Order.asc("price"));}searchResult = goodsManager.findAllByCriteria(detachedCriteria);ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize, startIndex);System.out.println("pspspspspsps"+ps);if(null != ps){System.out.println(ps.getPageSize());System.out.println(ps.getNextIndex());我的searchResult 是查询的结果ps时分页的结果而我jsp 调用的是 searchResult。我觉得应该把他们放在一起 再在jsp 调用 是不是这样呀????问题补充:不好意思 ps 就是PaginationSupport ps =goodsManager.findpageByCriteria(detachedCriteria, pageSize, startIndex); 而PaginationSupport 就是robbin 写的那个问题补充:谢谢您 icewubin---引用  icewubin (初级程序员) 2008-09-10 ----需要你继续提供点资料: --1.你在action中打印ps.getItems().size(),看看结果对不对。 --2.上一个试验的结果如果不对,那就你自己查原因了,findPageByCriteria方法一定有问题了。 --3.如果1中的试验结果是对的(我猜应该是对的)话,就是你这个ps传递到页面上的时候发生一些问题,那就是Struts的使用的问题了。 --4.你也可以在jsp的页面中打印ps.items.size,看看结果是多少。1,在action中打印ps.getItems().size(), 结果正常2.正像 您说的,是struts2有问题.我不知道怎么把 值传导 jsp里   searchResult = goodsManager.findAllByCriteria(detachedCriteria); 和 ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize, startIndex); 我现在是 把 searchResult  的结果 传导jsp里了.我感觉是这里不对.但具体我也不知道 .\3在jsp页面打印 ps.getItems().size(),   我明天试一试谢谢问题补充:icewubin 谢谢您的提示和帮助我知道错在哪了在jsp 里 我调用的东西 调错了应该 调用 ps.getItems()谢谢有个题外话我怎么对我的问题回答的时候,必须在 问题补充 里回答这样感觉很不舒服

解决方案

需要你继续提供点资料:1.你在action中打印ps.getItems().size(),看看结果对不对。2.上一个试验的结果如果不对,那就你自己查原因了,findPageByCriteria方法一定有问题了。3.如果1中的试验结果是对的(我猜应该是对的)话,就是你这个ps传递到页面上的时候发生一些问题,那就是Struts的使用的问题了。4.你也可以在jsp的页面中打印ps.items.size,看看结果是多少。
解决方案二:
引用ps = goodsManager.findpageByCriteria(detachedCriteria, pageSize, startIndex); 实现细节应当在这个方法中,但是您的问题中描述不清,看不懂您的问题,请您说清楚您的action中到底出现了什么问题,ps到底是什么类型的对象,否则无法回答。

时间: 2024-10-07 20:57:22

hibernate DetachedCriteria 查询问题的相关文章

Hibernate 分页 查询

 昨天的作业  分页: 主要的代码块:(明天实现分页的封装) 1 package com.cy.beans; 2 3 import java.util.List; 4 5 /** 6 * 定义一个分页对象 7 * @author acer 8 * 9 */ 10 public class Pager { 11 12 private int page;//当前页码 13 private int pageTotal;//总页码 14 private int rowsTotal;//总条数 15 pr

Hibernate属性查询简介

本文向大家介绍Hibernate属性查询,可能好多人还不了解Hibernate属性查询,没有关系,看完本文 你肯定有不少收获,希望本文能教会你更多东西. 今天说一下Hibernate属性查询:使用HQL的时候并不是把 hbm.xml 里面的所有属性取出来,只取出有 用的属性便可以了,举个例子: List list =session.createQuery ("select user.name,user.age from TUSER user").list(); Iterator it

spring-新手关于Spring管理Hibernate下查询性能的疑问

问题描述 新手关于Spring管理Hibernate下查询性能的疑问 我这么两段代码: 1.Query query = Dao.createQuery("from table"); list = query.list(); for(Table item : list){ Query query2 = Dao2.createQuery("select id from table2"); list = query2.list(); } 2.Query query = D

java-Java Hibernate中查询取值

问题描述 Java Hibernate中查询取值 Sql语法是这样的:![图片说明] 用Hibernate查询的语法不知道有没有问题呢? 还有最后一个问题: 我查询后的值存在query里面了, 我又要怎么取值呢? 求大家帮帮忙 解决方案 你那ID写里面就是死值了,要么用"?"代替,要么用 "+ +" 抱起来,哪有你那么写的 解决方案二: query.list()吧,然后看返回值是什么类型就用什么类型去接收就OK了.推荐看看这个先,里面有你想要的内容:http://z

hibernate hql查询问题

问题描述 hibernate hql查询问题 遇到个hibernate hql查询的问题,求高手解答 实体类A包含实体类T属性,实体类T有两个子类T1,T2,代码如下: A{ T t; } T{ } T1 extends T{ } T2 extends T{ } 现在我要查询A,条件是T为T2的类型,HQL语句应该怎么写? 解决方案 除了Java类与属性的名称外,查询语句对大小写并不敏感. 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg

hibernate模糊查询条件是中文 但是不能返回值

问题描述 小弟请教一下:我用的hibernate模糊查询页面的数据是utf-8,数据库也是模糊查询的条件是中文他就是返回为空但是是数字他又正确了我保证hql语句正确的用的是SSHspring我配置了characterEncoding=UTF-8请大家赐教 解决方案 解决方案二:你首先要看看不的数据库的中文是否是乱码,是的话那就不能查询出来,数字又正确,说明你的查询语句没错,仔细看下解决方案三:数据库不是乱码,数据是正确的查询语句如下:fromDepartmentdmwheredm.departm

hibernate 级联查询

hibernate级联查询 1,实体类结构 Java代码   @Entity   @Table(name = "t_vote")   public class Vote {       private int id;       /***       * 1:最宜居<br>       * 2:最优户<br>       * 3:最佳物业       */       private int type;       private HouseBuilding h

mysql 数据库-HIbernate映射查询出错,

问题描述 HIbernate映射查询出错, UserIm表继承User表,使用的是@Inheritance(strategy = InheritanceType.JOINED)策略,其中User对象中有Accout对象,User和Accout对象之间是有关联表 ORG_ACCOUNT_USER_CLIENT的,但是这个关联表里还有其他字段有外键关联,字段名为 CLIENT_ID,不知道hibernate是怎么弄的,查询的时候把这个 CLIENT_ID 也查询了,我没设置让他查询 CLIENT_I

json 返回hibernate load查询数据出错

问题描述 json 返回hibernate load查询数据出错 我用get()方法查询出来的数据print到页面不会有错!但是用load()方法查询出来的数据print到页面是就出现错误!如果在实体中设置lazy=""false""也不会出错!哪位高手给说明一下原因, 解决方案 懒加载呗........ 解决方案二: 那怎么解决,不会是每一个实体中都设置lazy=""false""吧 解决方案三: 看下load和get的区别