我有一个返回多个记录的HQL。
e.g。
select * from employees where surname like 'A%' order by employee_id
如何在不迭代列表的情况下访问第3条记录中的第3个字段?我在网上搜索但空手而归。
我知道get函数,但列表是一个对象列表(即不是特定的类)所以我不能使用类似的东西:
myList.get(2).getSurname();
感谢
答案 0 :(得分:0)
如果您有一个列表,那么您可以使用list.get(2)
从中获取第三个项目,就像在任何地方一样。如果您执行了Query.iterate()
之类的操作,那么您就是故意要求按需加载结果而不是预先加载结果,并且您会遇到这样做的后果。如果您在调用next()
几次时遇到问题,请修复查询的order by
子句以将该记录放在第一位。否则,请使用Query.list()
,它会将查询的整个结果作为List一次性加载到内存中。
至于第三个字段,当你使用HQL时,你正在加载对象,而不是字段,所以以这种方式谈论字段并没有任何意义。