ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

@JoinFetch

@JoinFetch注釈を使用して、ソース・オブジェクトと同じ問合せにある関連オブジェクトの結合および読取りを有効にします。


注意:

すべての問合せで結合が必要となるわけではないため、結合フェッチは問合せレベルで設定してください。


注釈要素

表2-28は、この注釈の要素を示しています。

表2-28 @JoinFetchの注釈要素

注釈要素 説明 デフォルト

value

(オプション)この属性を、使用するフェッチのorg.eclipse.persistence.annotations.JoinFetchType列挙型に設定します。

JoinFetchTypeの有効な値は次のとおりです。

  • INNER: このオプションにより、関連オブジェクトの内部結合フェッチが実現されます。

    注意: 内部結合では、nullまたは空の値を使用できません。

  • OUTER: このオプションにより、関連オブジェクトの外部結合フェッチが実現されます。

    注意: 外部結合では、nullまたは空の値を使用できます。

JoinFetchType.INNER


使用方法

@JoinFetch注釈は、次のマッピングに指定できます。

また、特にコレクション・リレーションシップには、より効率的なバッチ・フェッチを使用できます。

次の例では、@JoinFetch注釈を使用して、従業員フィールドmanagedEmployeesを指定する方法を示します。

例2-52 @JoinFetch注釈の使用

@Entity
 public class Employee implements Serializable {
    ...
    @OneToMany(cascade=ALL, mappedBy="owner")
    @JoinFetch(value=OUTER)
    public Collection<Employee> getManagedEmployees() {
        return managedEmployees;
    }
    ...
 }

例2-53に、eclipselink-orm.xmlファイルでこの拡張を使用する方法を示します。

例2-53 XMLでの<join-fetch>の使用

<one-to-many name="managedEmployees">
    <join-fetch>OUTER</join-fetch>
</one-to-many>

関連項目

詳細は、次を参照してください。