List list= this.getHibernateTemplate().find(hql.toString());
发出SQL语句select leg.destcode from Leg leg left join leg.flight flt where leg.destcode='HAK' and leg.tmatd <= to_date('2011-10-19 13:30','yyyy-MM-dd HH24:mi') and leg.tmatd >= to_date('2011-10-19 10:30','yyyy-MM-dd HH24:mi') order by leg.tmatd desc 
14:16:59,718 INFO  [STDOUT] Hibernate: 
    /* select
        leg.destcode 
    from
        Leg leg 
    left join
        leg.flight flt 
    where
        leg.destcode='HAK' 
        and leg.tmatd <= to_date('2011-10-19 13:30','yyyy-MM-dd HH24:mi') 
        and leg.tmatd >= to_date('2011-10-19 10:30','yyyy-MM-dd HH24:mi') 
    order by
        leg.tmatd desc  */ select
            leg0_.LEG_DESTCITY as col_0_0_ 
        from
            VIEW_TA_LEG leg0_ 
        left outer join
            TA_FLIGHT flight1_ 
                on leg0_.FLT_ID=flight1_.FLT_ID 
        where
            leg0_.LEG_DESTCITY='HAK' 
            and leg0_.LEG_TMATD<=to_date('2011-10-19 13:30', 'yyyy-MM-dd HH24:mi') 
            and leg0_.LEG_TMATD>=to_date('2011-10-19 10:30', 'yyyy-MM-dd HH24:mi') 
        order by
            leg0_.LEG_TMATD desc
然后用这句SQL语句到数据库中执行可以得到数据,但现在list里面却是“”空串,求大侠帮忙

解决方案 »

  1.   

    return (List<SmsResp>) this.getHibernateTemplate().execute(
    new HibernateCallback() {

                                          public Object doInHibernate(Session session)
    throws HibernateException, SQLException {
    Query query = session.createQuery(hsql);
    query.setFirstResult(start);
    query.setMaxResults(size);
    List<SmsResp> list = query.list();
    return list;
    } });这样看看行不行呢?还有你上面那句
    不知道这句是打出来的是sql语句 还是你的hql语句?如果是hql语句 那可能有问题
    如果是控制台打出来的sql 那你就用这句去数据库执行看有没数据
      

  2.   

    select leg.destcode from Leg leg left join leg.flight flt where leg.destcode='HAK' and leg.tmatd <= to_date('2011-10-19 13:30','yyyy-MM-dd HH24:mi') and leg.tmatd >= to_date('2011-10-19 10:30','yyyy-MM-dd HH24:mi') order by leg.tmatd desc
     这句是我的打印的SQL语句 ,后面这些是控制台输出的/* select
      leg.destcode  
      from
      Leg leg  
      left join
      leg.flight flt  
      where
      leg.destcode='HAK'  
      and leg.tmatd <= to_date('2011-10-19 13:30','yyyy-MM-dd HH24:mi')  
      and leg.tmatd >= to_date('2011-10-19 10:30','yyyy-MM-dd HH24:mi')  
      order by
      leg.tmatd desc */ select
      leg0_.LEG_DESTCITY as col_0_0_  
      from
      VIEW_TA_LEG leg0_  
      left outer join
      TA_FLIGHT flight1_  
      on leg0_.FLT_ID=flight1_.FLT_ID  
      where
      leg0_.LEG_DESTCITY='HAK'  
      and leg0_.LEG_TMATD<=to_date('2011-10-19 13:30', 'yyyy-MM-dd HH24:mi')  
      and leg0_.LEG_TMATD>=to_date('2011-10-19 10:30', 'yyyy-MM-dd HH24:mi')  
      order by
      leg0_.LEG_TMATD desc
      

  3.   

    一样是发出
    14:41:44,343 INFO  [STDOUT] Hibernate: 
        /* select
            leg.tmatd 
        from
            Leg leg 
        left join
            leg.flight flt 
        where
            leg.destcode='HAK' 
            and leg.tmatd <= to_date('2011-10-19 13:30','yyyy-MM-dd HH24:mi') 
            and leg.tmatd >= to_date('2011-10-19 10:30','yyyy-MM-dd HH24:mi') 
        order by
            leg.tmatd desc  */ select
                * 
            from
                ( select
                    leg0_.LEG_TMATD as col_0_0_ 
                from
                    VIEW_TA_LEG leg0_ 
                left outer join
                    TA_FLIGHT flight1_ 
                        on leg0_.FLT_ID=flight1_.FLT_ID 
                where
                    leg0_.LEG_DESTCITY='HAK' 
                    and leg0_.LEG_TMATD<=to_date('2011-10-19 13:30', 'yyyy-MM-dd HH24:mi') 
                    and leg0_.LEG_TMATD>=to_date('2011-10-19 10:30', 'yyyy-MM-dd HH24:mi') 
                order by
                    leg0_.LEG_TMATD desc ) 
            where
                rownum <= ?
    结果集list也是空串
      

  4.   

    贴全了。尤其是你的hql语句是怎么个写法!!
      

  5.   

    把打出来的sql放在plsql执行,看看有错误没。。
    debug一下看看返回的list是否真是空啊。
      

  6.   

    谢谢各位,我犯了个郁闷的错误,数据源搞错了,JBOSS
    @192.168.9.8:1521:orcl和
    @192.168.9.9:1521:orcl的数据库表都是一样的
    192.168.9.9:1521:orcl这个库有数据,
    192.168.9.8:1521:orcl这个库没有数据,
    配置连接的是192.168.9.8:1521:orcl这个  所以就一直郁闷找不到数据。
    再次谢谢大家
      

  7.   

    遇到奇怪问题。。debug了一下就一目了然了