0

複数のレコードを返すHQLがあります。

例えば

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

リストを繰り返さずに、3番目のレコードの3番目のフィールドにアクセスするにはどうすればよいですか?ネットを検索しましたが、手ぶらで帰ってきました。

get関数については知っていますが、リストはオブジェクトのリスト(つまり、特定のクラスではない)であるため、次のようなものは使用できません。

myList.get(2).getSurname();

ありがとう

4

1 に答える 1

0

リストがある場合は、list.get(2)他の場所と同様に、リストから3番目のアイテムを取得します。のようなことをした場合Query.iterate()、結果をすべて前もってではなくオンデマンドでロードするように意図的に要求したことになり、そうすることの結果に固執します。数回の呼び出しで問題が発生した場合は、クエリの句をnext()修正して、そのレコードを最初に配置します。order byそれ以外の場合はQuery.list()、代わりに使用します。これにより、クエリの結果全体がリストとして一度にメモリに読み込まれます。

3番目のフィールドについては、HQLを使用する場合、フィールドではなくオブジェクトをロードするため、そのようにフィールドについて話すことは実際には意味がありません。

于 2013-02-14T01:25:08.703 に答える