パッケージ jakarta.persistence
アノテーション型 ManyToOne
- @TargetSE({METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) public @interface ManyToOne 多対 1 の多重度を持つ別のエンティティクラスへの単一値の関連付けを指定します。通常、参照されているオブジェクトの型から推測できるため、ターゲットエンティティを明示的に指定する必要はありません。関連が双方向の場合、所有していない- OneToManyエンティティ側は- mappedBy要素を使用して、関連の所有者であるエンティティの関連フィールドまたはプロパティを指定する必要があります。- ManyToOneアノテーションを埋め込み可能クラス内で使用して、埋め込み可能クラスからエンティティクラスへの関連を指定できます。関連が双方向の場合、所有していない- OneToManyエンティティ側は、- OneToManyアノテーションの- mappedBy要素を使用して、関連の所有側の埋め込みフィールドまたは埋め込みフィールドの関連フィールドまたはプロパティを指定する必要があります。- mappedBy要素では、埋め込み属性内の関連属性を示すために、ドット("." )表記構文を使用する必要があります。ドット表記で使用される各識別子の値は、それぞれの埋め込みフィールドまたはプロパティの名前です。- Example 1: @ManyToOne(optional=false) @JoinColumn(name="CUST_ID", nullable=false, updatable=false) public Customer getCustomer() { return customer; } Example 2: @Entity public class Employee { @Id int id; @Embedded JobInfo jobInfo; ... } @Embeddable public class JobInfo { String jobDescription; @ManyToOne ProgramManager pm; // Bidirectional } @Entity public class ProgramManager { @Id int id; @OneToMany(mappedBy="jobInfo.pm") Collection<Employee> manages; }- 導入:
- 1.0
 
- オプション要素の概要- オプション要素 - 修飾子と型 - オプションの要素 - 説明 - CascadeType[]- cascade(オプション)関連付けのターゲットにカスケードする必要がある操作。- FetchType- fetch(オプション)関連付けを遅延ロードするか、積極的にフェッチする必要があるか。- boolean- optional(オプション)関連付けがオプションかどうか。- ClassSE- targetEntity(オプション)関連付けのターゲットであるエンティティクラス。
 
- 要素の詳細- targetEntity- ClassSE targetEntity (オプション)関連付けのターゲットであるエンティティクラス。- デフォルトでは、関連付けを保存するフィールドまたはプロパティの型になります。 - デフォルト:
- void.class
 
 
 - cascade- CascadeType[] cascade (オプション)関連付けのターゲットにカスケードする必要がある操作。- デフォルトでは、操作はカスケードされません。 - デフォルト:
- {}
 
 
 - fetch- FetchType fetch (オプション)関連付けを遅延ロードするか、積極的にフェッチする必要があるか。EAGER 戦略は、永続性プロバイダーランタイムの要件であり、関連付けられたエンティティを積極的にフェッチする必要があります。LAZY 戦略は、永続化プロバイダーランタイムへのヒントです。- デフォルト:
- jakarta.persistence.FetchType.EAGER