アノテーション付きメソッドまたはインライン・メソッドを使用して、配列、java.lang.Iterable を実装するクラス、java.util.Iterator を実装するクラスなどの、メモリー内 Java コレクションを照会することができます。
コレクションの照会により、SQL を使用して、データベース・オブジェクトの照会によって戻される一連のオブジェクトをフィルターに掛けることができます。
オブジェクトは、接続済みのデータ・ソースに対する以前の照会によりマテリアライズされます。
SQL 92 標準に準拠する任意の SELECT ステートメントを使用できます。
例えば、データベース表 CUSTOMER に対して照会を実行し、List オブジェクトに、表内のレコードごとに 1 つの Customer オブジェクトを追加します。
次いで、その List オブジェクトに対して照会を実行します。
2 番目の照会は、コレクションに対する照会です。
この 2 番目の照会と、List オブジェクトに対する後続のすべての照会では、List オブジェクトの内容がメモリー内にあるため、データベースに接続する必要はなくなります。
重要: Iterator オブジェクトを使用する際には、以下の点に留意してください。
- Iterator オブジェクトでの照会の結果をマテリアライズした後に、Iterator オブジェクトの使用を終了するまで、データベースへの接続は開いておく必要があります。
- java.util.Iterator を実装するオブジェクトの内容を調べることで、これらの内容はコンシュームされることになり、内容の先頭から再度開始する方法はありません。
- Iterator オブジェクトが最初に空でない限り、照会の完了後まで、いくつのオブジェクトがその中にあるかを知る方法はありません。