hibernate3.5使用session.createQuery()查出数据与数据库不一致

代码如下: 

  public List<T> getForList(T t) {

        List<T> tList = new ArrayList<T>();
        StringBuffer sb = new StringBuffer(
                "select rm,rm2.name  from T rm,T2 rm2 Where 1=1 and rm.id=rm2.id ");
        StringBuffer buffer = new StringBuffer(
                "select count(*) from T rm,T2 rm2 Where 1=1 and rm.id=rm2.id ");
        try {
            if (null != rm.getname() || ("").equals(rm.getname())) {
                sb.append("and rm.name like '%" + t.getname() + "%' ");
                buffer.append("and rm.name like '%" + t.getname() + "%' ");
            }
          //  sb.append(" order by rm.id ");
            List<T> rmList = (List<T>) super.showPage(sb
                    .toString(), buffer.toString(), rm.getPage(), rm
                    .getPagesize());
            if (rmList.size() != 0) {
                Object objTotal = rmList.get(1);
                Iterator it = ((Iterable<Throwable>) rmList.get(0)).iterator();
                int i=0;
                while (it.hasNext()) {
                    i++;
                    Object[] obj = (Object[]) it.next();
                    RgMethod rm_ = (RgMethod) obj[0];
                    String name = (String) obj[1];
                    rm_.setname(name);
                    rm_.setTotal(Integer.valueOf(objTotal.toString()));
                    tList.add(rm_);
                }
                rmList=null;
                System.out.println(i);
            }
        } catch (Exception e) {
            logger.error(ErrorTrace.getTrace(e));
            return null;
        }
        return tList;

    }


经分析后增加上排序语句【sb.append(" order by rm.id ");】,查询结果通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值