您的位置:首页 > 产品设计 > UI/UE

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

2013-07-02 10:02 471 查看
代码如下: 

  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 ");】,查询结果通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐