2

私はEclipseLinkが初めてで、今は一歩一歩理解しています。現在、私は inb オー​​ダーを織り込んでパフォーマンスの最適化に取り組んでおり、***ToOne リレーションシップに遅延読み込みを使用し、エンティティ インスタンスの部分読み込みにグループをフェッチし、コミット パフォーマンスの最適化と内部の最適化に変更追跡を使用しています。 . 残念ながら、この戦術による適切なパフォーマンスをグーグルで見つけられませんでした。

このウィービング設定を介してEclipseLinkが実行する内部最適化の種類を誰かが説明できますか?

前もって感謝します、 シメオン

4

1 に答える 1

2

質問を分割して、探しているものをより具体的にすることをお勧めしますが、情報を追加しようとします.

ウィービングにより、EclipseLink はエンティティのバイトコードを変更してプロバイダー固有のメソッドなどを追加できるため、モデル内に依存関係を導入する必要がなくなります。見つけたドキュメントにリストされている各用語 (遅延読み込み、フェッチ グループなど) はすべて、個別に調べる必要があるパフォーマンス強化です。すべてをウィービングせずに使用できますが、EclipseLink のインタフェースとメソッドを実装するには、エンティティを変更する必要があります。

遅延読み込みは、アプリケーションがアクセスするまでリレーションシップの取得を遅らせます。たとえば、エンティティの getEmployee() は、参照従業員属性を返すだけです。ウィービングなしでは、従業員が既にフェッチされている必要があります。そうしないと、null が誤って返されます。ウィービングを使用すると、コードをエンティティに追加して、データベースにアクセスしてオンデマンドでフェッチすることができます。

フェッチ・グループは、リレーションシップではなく基本的なマッピングに適用される同様の概念ですが、変更追跡はより高度であり、エンティティに変更を加えたときにコミット時に変更を事前構築済のバックアップと比較する必要がなく、EclipseLinkに通知できます。EclipseLinkドキュメント内で、それぞれに独立した参照があります。

于 2012-11-16T21:55:02.517 に答える