0

こんにちは私は永続性フレームワークとしてJPA休止状態を使用しています私のクラスのすべてのfetcタイプの属性はEAGERなので、データベースからすべての製品を見つけようとすると15秒かかります、遅すぎます:(それを加速するソリューションはありますか?私はすべての依存関係を持つすべての製品を持ちたいです、私は私のmysql DBにちょうど80行を持っています、それはいつもロジックですか?私はEJB3.0を使用しているこのタイプのフェッチをモデレートできますか?セッションproductSessionはstatlessであり、私は使用しています名前付きクエリ@NamedQuery(name = "Produit.findAll"、query = "select a from Produit a")

4

1 に答える 1

3

すべての関連付けを熱心に設定すると、商品を読み込むときにそのカテゴリを取得する必要があるため、明らかに時間がかかります。そして、カテゴリーの作成者。そして、作成者の兄弟。そして兄の娘。そして娘の会社。そして会社の街。そして、都市の国など。そして、私は、多くの協会についてさえ話していません。

すべてを熱心にロードするように設定しないでください。また、適切なHQLクエリを使用して、関心のあるものだけをロードします。アソシエーションがeagerに設定されている場合、常に熱心にロードされます。レイジーに設定すると、HQLまたはCriteriaクエリを使用して、必要なときに熱心にフェッチできます。

結合、特にフェッチ結合に関するHQLドキュメントをお読みください。

于 2012-05-26T07:49:51.033 に答える