Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@FetchAttribute
を使用して、フェッチ・グループ内のパフォーマンスを向上させます。オブジェクトの属性のグループをオンデマンドでロードできるようにします。その結果、明示的なアクセス・コールが発生するまで、属性のデータをデータソースからロードする必要がなくなります。
これにより、ユーザーが一部の属性のみを必要とする場合に、オブジェクトの属性のすべてのデータをロードする必要がなくなります。
注釈要素
表2-21は、この注釈の要素を示しています。
使用方法
EclipseLinkには、次の2つのタイプのフェッチ・グループがあります。
エンティティまたはMappedSuperclassレベルの事前定義済フェッチ・グループ
問合せレベルの動的(ユースケース)フェッチ・グループ
フェッチ・グループを使用する場合、広範囲にわたってユースケースを確認する必要があります。多くの事例では、追加のラウンドトリップにより、遅延したロードによって得られるメリットが相殺されます。
例
例2-42に、@FetchGroup
注釈内で@FetchAttribute
を使用する方法を示します。
例2-42 @FetchAttribute注釈の使用
@Entity @FetchGroup(name="basic-fetch-group", attributes={ @FetchAttribute(name="id"), @FetchAttribute(name="name"), @FetchAttribute(name="address")}) public class Person { @Id private int id; private String name; @OneToOne(fetch=LAZY) private Address address; @ManyToOne(fetch=EAGER) private ContactInfo contactInfo;
例2-43 <fetch-group> XMLの使用
<fetch-group name="basic-fetch-group">
<attribute name="id"/>
<attribute name="name"/>
<attribute name="address"/>
</fetch-group>
関連項目
詳細は、次を参照してください。
『Oracle TopLinkの理解』