日期:2014-05-20  浏览次数:20909 次

急~!~hibernet HQL返回值问题~
Java code

         ....
        hql.append("");
        hql.append("from ");
        hql.append("IbKeiyakuJouhouPdtoImpl B00A03DB10010, ");
        hql.append("KokyakuJouhouPdtoImpl B00A03DB10020, ");
        hql.append("EmeruadoresuJouhouPdtoImpl B00A03DB10040_BURAUZA, ");
        hql.append("EmeruadoresuJouhouPdtoImpl B00A03DB10040_MOBAIRU ");
        
        hql.append("where ");
        ....
      
        result = findByHql(hql.toString(), args.toArray());
        ....
        for (Iterator it = result.iterator(); it.hasNext(); ) {
            Object[] obj = (Object[]) it.next();
            Wdto returnDto = new Wdto();
            returnDto.setAdto(obj[0])
            returnDto.setBdto(obj[1])
            returnDto.setCdto(obj[2])
            returnDto.setDdto(obj[3])
        }
        .....



问:
下面对返回值迭代往Dto中赋值的顺序obj[i]跟HQL中from后面的表顺序是一样的吗?要不对应不上类型就不能转换的。
求解!(因为要做讲解,需要大家说一些理论上的知识来说明),谢谢大家啦~

------解决方案--------------------
不是一样的么?
------解决方案--------------------
说一下你的情况吧
------解决方案--------------------
是否要类型转化要取决于 Wdto 对象中属性的类型,如果属性为强数据类型是必须要强制类型转换,应为
obj[0] 的对象类型为 Object,这属于向下转型是必须的
------解决方案--------------------
it.next(); 一行一行移的肯定一样
------解决方案--------------------
返回的result是List
List是有序集合
------解决方案--------------------
学习。
------解决方案--------------------
不会吧 你是不是表的关系建错了啊
------解决方案--------------------
探讨

引用:

返回的result是List
List是有序集合
我知道是有序的,为什么这个顺序和from后面表的前后顺序一样呢?这from后面有四个表,返回值是个四维数组

------解决方案--------------------
学习...