30.8.4. 遅延ローディングの結果セット


デフォルトでは、マルチオブジェクトの finder または select メソッドが実行されると、JDBC 結果セットがすぐさま最後まで読み込まれます。クライアントは、EJBLocalObject または CMP フィールド値のコレクションを受け取り、この後それを反復することができます。結果セットが大きい場合は、この方法は効率的ではありません。場合によっては、クライアントがコレクションから対応する値の読み込みを試行するまでは、結果セットにある次の行の読み込みを遅らせるほうがよい場合があります。lazy-resultset-loading 要素を使用することで、クエリーに対するこの動作を起こさせることができます。
<query>
    <query-method>
        <method-name>findAll</method-name>
    </query-method>
    <jboss-ql><![CDATA[select object(o) from A o]]></jboss-ql>
    <lazy-resultset-loading>true</lazy-resultset-loading>
</query>
遅延ローディングの結果セットを使用する場合に気をつけなければならないことがいくつかあります。遅延ローディングされた結果セットに関連付けられた Collection を扱う場合には、特別な注意が必要です。iterator() への最初の呼び出しによって、ResultSetから読み込むという特別な Iterator を返します。この Iterator が使い果たされるまで、その後の iterator() に対する呼び出しや add() メソッドに対する呼び出しは除外されます。remove() および size() メソッドはそのまま期待通りに機能します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る