hibernate查不出对象,但是用hibernate编译后的SQL在pl/sql中就可以,
这是为什么呢?
找了好久,都不知道什么原因了。

解决方案 »

  1.   

    因为前面还有很多的处理,不方便全部贴上来。这里我只给出查询那段的代码。我想知道大家以前有没有遇到这种问题,是怎么解决的。final String hqlString = temphqlString;// + onlineQueryConditionDto.getOrder();
    int temp = (pageNumber-1)*pageSize;
    if(temp<0){
    temp=0;
    }
    final int startIndex = temp;
    System.out.println(temphqlString);

    System.out.println("SQL拼接完成时间: "+((new Date()).getTime()-time1));
    long time2 = (new Date()).getTime();

    try{
    list = getHibernateTemplate().executeFind(new org.springframework.orm.hibernate3.HibernateCallback()
    {
    public Object doInHibernate(Session hibernateSession)throws HibernateException, SQLException {
    Query query = hibernateSession.createQuery(hqlString);
    return query.setFirstResult(startIndex).setMaxResults(pageSize).list();
    }
    });

    }catch(Exception e){
    e.printStackTrace();
    }
    sysout.out.println(list.size());
      

  2.   

    Query query = hibernateSession.createQuery(hqlString);
    query.list
    这块有对象么?
      

  3.   

    查询的语句写的没有问题。
    Query query = hibernateSession.createQuery(hqlString);
    你先直接通过query.list()查看list的size有没,如果有的话,问题可能就出现
    startIndex和pageSize上面了
      

  4.   

    query.list() 得到的LIST size 为0;
    但是一样,用hibernate编译后的SQL是可以查到数据的。
      

  5.   

    可能是你pageSize为0吧,所以虽然编译后的SQL是可以查到数据,但没取出来而已,你查看一下pageSize是否为0
      

  6.   

    请问你这个例子是采用ssh框架做的么?如果是那样的话,需要配置事务才行!在spring里面配置!!