hql查询字段和查询后放入list中的顺序不一样?!? [问题点数:20分]
不显示删除回复 显示所有回复 显示星级回复 显示得分回复 只显示楼主
收藏
|
写一个数据导出excel,自己也不太懂,参照着写的,功能可以实现,就是这段程序看不懂,请各位指点一二!
|
这是迭代器迭代。。。next()是迭代本次的值,顺便迭代加一
| |
引用 1 楼 baidu_32174073的回复:
这是迭代器迭代。。。next()是迭代本次的值,顺便迭代加一额,这样呀。那上面为什么hql查询字段的顺序和放入list中的顺序不一样呀。。 | |
map的key是无序的,要想和list中的一样,可以用LinkedHashMap
| |
楼主应该遍历map获取到值了再动态增加where条件,最后用HibernateTemplate实现查询。
| |
引用 4 楼 时尚程序员的回复:
楼主应该遍历map获取到值了再动态增加where条件,最后用HibernateTemplate实现查询。可是它返回的是query.list,这不是代表它应该是一个list吗? 请多指点,白痴问题还请谅解。。 | |
我又仔细看了下,原来楼主不是查询条件的顺序错了,是读取返回结果时出问题了啊。你既然知道了你查的是哪些字段,你就知道map中放了哪些key了,直接使用map.get("org_id")这样就可以了啊
| |
引用 6 楼 时尚程序员的回复:
我又仔细看了下,原来楼主不是查询条件的顺序错了,是读取返回结果时出问题了啊。你既然知道了你查的是哪些字段,你就知道map中放了哪些key了,直接使用map.get("org_id")这样就可以了啊不好意思,我不太理解您的意思。读取返回结果时出错了,指的是哪一步呀。。。然后您说的使用map.get(),可是map中有很多条记录,一条记录很多字段,而还需要分页。。。。不太懂。。。。 白痴问题还请见谅 | |
建议看一下 Java 集合
| |
你用Hibernate查询的是一个list<Map>类型,你直接遍历你的list就可以获得一个一个的单条记录,单条记录是map类型,map里面的key值就是hql语句中的字段别名,你在遍历list的时候。
if(list!=null&&!list.isEmpty()){ for(Map map:list){ Object o= map.get("org_id"); .......//查询了多少字段就写多少个map.get方法。如果这还看不懂,我就真的没办法了。这要是在我们项目组,早就被开除了 } } | |
引用 9 楼 时尚程序员的回复:
你用Hibernate查询的是一个list<Map>类型,你直接遍历你的list就可以获得一个一个的单条记录,单条记录是map类型,map里面的key值就是hql语句中的字段别名,你在遍历list的时候。哦。谢谢,。不好意思麻烦了 | |