2016-04-28 11 views
0

Hibernateの "Eager fetching with Joins"の概念を、簡単なサンプルクエリとクエリの結果を示すテーブルで理解できますか?私はネットを検索しましたが、良い例で説明することはできません。親切に私を助け、案内してください。ジョインでのEagerフェッチ

答えて

0

Eagerフェッチでは、アプリケーションが明示的に要求するまで待つのではなく、オブジェクトの最初のフェッチですぐに結合されたテーブルデータを返します。

SQLの観点からは、常に熱心に取得されたデータを使用することを前提として、より効率的である可能性があります。一般に、アプリケーションがデータを必要とするまで待つ方が良い場合があります。その時点で、Hibernateはデータを取得するための新しいクエリを作成します。

実際に必要となるまで接続/ソケット/リソースを開けないようにするには、が必要な場合は、というアプリケーション構築を遅延初期化するのと同じ考えがあります。

eagerフェッチは、子が1000s/10000s/1000000sの子オブジェクトを持つ親子関係の場合、非常にスケーラブルではありません。これはおそらく、ほとんどの休止状態のパフォーマンスの問題が発生する場所です。解決策は手作業で子どもをフェッチすることです。便利ではありませんが、アプリケーションは幸せになります。

[申し訳ありませんが、近い手元に例がありますが、私はせずに十分にそれを説明することができると思っていない。]