0

我有一个返回多条记录的 HQL。

例如

select * from employees where surname like 'A%' order by employee_id

如何在不遍历列表的情况下访问第三条记录中的第三个字段?我在网上搜索过,但空手而归。

我知道 get 函数,但列表是对象列表(即不是特定类),所以我不能使用类似的东西:

myList.get(2).getSurname();

谢谢

4

1 回答 1

0

如果您有一个列表,那么您可以从其中获取第三个项目list.get(2),就像任何地方一样。如果您做了类似的事情Query.iterate(),那么您故意要求按需加载结果而不是全部预先加载,并且您会被这样做的后果所困扰。如果您在调用next()几次时遇到问题,请修复order by查询的子句以将该记录放在首位。否则Query.list()请改用,它将查询的整个结果作为列表一次加载到内存中。

至于第三个字段,当您使用 HQL 时,您加载的是对象,而不是字段,因此以这种方式谈论字段并没有任何意义。

于 2013-02-14T01:25:08.703 回答