パッケージ jakarta.persistence

アノテーションインターフェース EmbeddedId


@TargetSE({METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) public @interface EmbeddedId
エンティティクラスまたはマップされたスーパークラスのアノテーション付き永続フィールドまたはプロパティがエンティティの複合主キーであることを指定します。アノテーション付きフィールドまたはプロパティの型は埋め込み可能な型である必要があり、明示的に Embeddable というアノテーションが付けられている必要があります。

エンティティクラスのフィールドまたはプロパティに EmbeddedId のアノテーションが付けられている場合、エンティティの他のフィールドまたはプロパティには Id または EmbeddedId のアノテーションが付けられてはならず、エンティティクラスは IdClass を宣言してはなりません。

埋め込み主キー型は Annotation.equals(java.lang.Object)SE および Annotation.hashCode() を実装し、データベーステーブルのマップされた主キーの同等性と一貫して値の同等性を定義する必要があります。

AttributeOverride アノテーションは、埋め込み可能クラス内で宣言された列マッピングをオーバーライドするために使用できます。

MapsId アノテーションを EmbeddedId アノテーションと組み合わせて使用して、派生主キーを宣言できます。

エンティティに派生主キーがある場合、AttributeOverride アノテーションは、親エンティティとの関連に対応しない埋め込み ID の属性をオーバーライドするためにのみ使用できます。

埋め込み主キー型内で定義された関連マッピングはサポートされていません。

例 1:

例 2:

導入:
1.0
関連事項: