比如hql = select new map(field1 as Field1, field2 as Field2) from tableClassA 这样啊.会返回1个list,然后这个list里面都是map,然后这个map我遍历的时候,我希望按照我select的顺序遍历出来.就好象遍历LinkedHashMap一样 .按put进去的顺序遍历.由于有些地方用到map的key,有些地方需要用顺序的,所以不能用hql返回object[]! 不知道我这次说清楚了吗? 55thx
String hql = "select new map(field1 as Field1, field2 as Field2) from tableClassA"; Query query = session.createQuery(hql); List<Map> list = query.list(); for(Map po : list){ String field1 = (String)po.get("0"); String field2 = (String)po.get("1"); }
晕倒啊!!!!!!!!!!!!!!!!!!!!!可能我没说清楚。 比如hql = select new map(field1 as Field1, field2 as Field2) from tableClassA 这样啊.会返回1个list,然后这个list里面都是map,然后这个map我遍历的时候,我希望按照我select的顺序遍历出来.就好象遍历LinkedHashMap一样 .按put进去的顺序遍历. 即返回的map遍历顺序为select 字段的顺序
这样啊.会返回1个list,然后这个list里面都是map,然后这个map我遍历的时候,我希望按照我select的顺序遍历出来.就好象遍历LinkedHashMap一样 .按put进去的顺序遍历.由于有些地方用到map的key,有些地方需要用顺序的,所以不能用hql返回object[]!
不知道我这次说清楚了吗?
55thx
String hql = "select new map(field1 as Field1, field2 as Field2) from tableClassA";
Query query = session.createQuery(hql);
List<Map> list = query.list();
for(Map po : list){
String field1 = (String)po.get("0");
String field2 = (String)po.get("1");
}
晕倒啊!!!!!!!!!!!!!!!!!!!!!可能我没说清楚。
比如hql = select new map(field1 as Field1, field2 as Field2) from tableClassA
这样啊.会返回1个list,然后这个list里面都是map,然后这个map我遍历的时候,我希望按照我select的顺序遍历出来.就好象遍历LinkedHashMap一样 .按put进去的顺序遍历. 即返回的map遍历顺序为select 字段的顺序
不行啊已经用了as不能在(String)po.get("0");这样写了.用as以后key就成了field1 和field2了啊
你试试把map的值放进迭代器里看行不行Iterator iter = po.values().iterator();
while(iter.hasNext()){
//看看取出来的值是不是有序的
String value = (String)iter.next();
}