パッケージ jakarta.persistence
アノテーション型 EmbeddedId
- @TargetSE({METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) public @interface EmbeddedId エンティティクラスまたはマップされたスーパークラスの永続フィールドまたはプロパティに適用され、埋め込み可能なクラスである複合主キーを示します。埋め込み可能なクラスには、- Embeddableというアノテーションを付ける必要があります。- EmbeddedIdアノテーションを使用する場合は、- EmbeddedIdアノテーションは 1 つだけで、- Idアノテーションは使用しないでください。- AttributeOverrideアノテーションは、埋め込み可能クラス内で宣言された列マッピングをオーバーライドするために使用できます。- MapsIdアノテーションは、- EmbeddedIdアノテーションと組み合わせて使用して、派生した主キーを指定できます。- エンティティに派生主キーがある場合、 - AttributeOverrideアノテーションは、親エンティティとの関連に対応しない埋め込み ID の属性をオーバーライドするためにのみ使用できます。- 埋め込み ID クラス内で定義された関連マッピングはサポートされていません。 - Example 1: @EmbeddedId protected EmployeePK empPK; Example 2: @Embeddable public class DependentId { String name; EmployeeId empPK; // corresponds to primary key type of Employee } @Entity public class Dependent { // default column name for "name" attribute is overridden @AttributeOverride(name="name", @Column(name="dep_name")) @EmbeddedId DependentId id; ... @MapsId("empPK") @ManyToOne Employee emp; }- 導入:
- 1.0
- 関連事項:
- Embeddable,- MapsId