OneToManyリレーションシップの関係を持つ所有者側のエンティティクラスから被所有者側のエンティティクラスへの複数の関連を指定するアノテーションです。
@OneToManyのための同じアノテーションの属性は,@ManyToManyと同じ属性を持ちます。
なお,Genericsを使用してCollection要素型が指定されている場合,被所有者側のエンティティクラスを指定する必要はありません。そのほかの場合は,必ず指定してください。
また,双方向の関係にする場合は,非所有者側に必ずmappedBy属性を指定してください。
適用可能要素は,メソッドとフィールドです。
@OneToManyの属性の一覧を次の表に示します。
属性名 | 任意/必須 | 属性の説明 |
---|---|---|
targetEntity | 任意 | 被所有者側のエンティティクラスを指定する属性です。 |
cascade | 任意 | カスケード対象となるオペレーションを指定する属性です。 |
fetch | 任意 | フェッチ戦略の指定値を指定する属性です。 |
mappedBy | 任意 | 被所有者側のエンティティクラスの要素に付与し,所有者側のエンティティクラスで関係を保持しているフィールドまたはプロパティの名前を指定する属性です。 |
CJPAプロバイダで対応する属性の詳細を次に示します。