パッケージ jakarta.persistence
アノテーションインターフェース ManyToOne
多対 1 の多重度を持つ別のエンティティクラスへの単一値の関連付けを指定します。ターゲットエンティティは通常、参照されるオブジェクトの型から推測できるため、通常は明示的に指定する必要はありません。
関連が双方向の場合、非所有 OneToMany
エンティティ側は mappedBy
要素を使用して、関連の所有者であるエンティティの関連フィールドまたはプロパティを指定する必要があります。
ManyToOne
関連付けは通常、外部キー列をマップします。このマッピングは、JoinColumn
アノテーションを使用して指定できます。あるいは、オプションの OneToOne
関連付けが、JoinTable
アノテーションを使用して結合テーブルにマップされる場合もあります。
ManyToOne
アノテーションは、埋め込み可能クラス内で、埋め込み可能クラスからエンティティクラスへの関連を指定するために使用できます。関連が双方向の場合、非所有 OneToMany
エンティティ側は、OneToMany
アノテーションの mappedBy
要素を使用して、関連の所有者側の埋め込み可能フィールドまたはプロパティの関連フィールドまたはプロパティを指定する必要があります。埋め込み属性内の関連属性を示すには、mappedBy
要素でドット (.
) 表記構文を使用する必要があります。ドット表記で使用される各識別子の値は、それぞれの埋め込みフィールドまたはプロパティの名前です。
例 1:
例 2:
- 導入:
- 1.0
オプション要素の概要
オプション要素修飾子と型オプションの要素説明(オプション)関連付けのターゲットにカスケードする必要がある操作。(オプション)関連付けを遅延ロードするか、積極的にフェッチする必要があるか。boolean
(オプション)関連付けがオプションかどうか。ClassSE<?>
(オプション)関連付けのターゲットであるエンティティクラス。
要素の詳細
targetEntity
ClassSE<?> targetEntity(オプション)関連付けのターゲットであるエンティティクラス。デフォルトでは、関連付けを保存するフィールドまたはプロパティの型になります。
- デフォルト:
- void.class
cascade
CascadeType[] cascade(オプション)関連付けのターゲットにカスケードする必要がある操作。デフォルトでは、操作はカスケードされません。
- デフォルト:
- {}
fetch
FetchType fetch(オプション)関連付けを遅延ロードするか、積極的にフェッチする必要があるか。指定しない場合、デフォルトは
EAGER
になります。- デフォルト:
- EAGER
optional
boolean optional(オプション)関連付けがオプションかどうか。false に設定した場合、null 以外の関連が常に存在する必要があります。マップされた外部キー列が
not null
であると推論するためにスキーマ生成で使用される場合があります。- デフォルト:
- true