8.22.3 @AttributeOverride
(1) 説明
次に示すマッピング情報をオーバーライドするアノテーションです。
-
@Basicで指定した(デフォルトが適用された)プロパティまたはフィールド
-
デフォルトが適用されたプロパティまたはフィールド
-
@Idで指定されたプロパティまたはフィールド
マップドスーパークラスや埋め込みクラスに定義された@Columnの設定をオーバーライドするために,マップドスーパークラスを継承したエンティティクラスや埋め込みクラスのフィールドまたはプロパティに適用します。
@AttributeOverrideが指定されていない場合,カラムはオーバーライド前のオリジナルマッピングでマップされます。
継承関係を持たない単体のエンティティクラスに@AttributeOverrideを定義した場合,動作はしますが動作の保証はできません。
適用可能要素は,クラス,メソッド,およびフィールドです。
(2) 属性
@AttributeOverrideの属性の一覧を次の表に示します。
属性名 |
任意/必須 |
属性の説明 |
---|---|---|
必須 |
マッピングがオーバーライドされるフィールドまたはプロパティの名前を指定する属性です。 |
|
必須 |
オーバーライドする@Columnを指定する属性です。 |
CJPAプロバイダで対応する属性の詳細を次に示します。
(a) name属性
- 型
-
String
- 説明
-
マッピングがオーバーライドされるフィールドまたはプロパティの名前を指定する属性です。
- デフォルト値
-
なし
(b) column属性
- 型
-
Column
- 説明
-
オーバーライドする@Columnを指定する属性です。
マッピングの型は埋め込み可能クラス,またはマップドスーパークラスの定義が適用されます。
指定できる値は,@Columnで指定できる範囲です。詳細は,「8.22.6 @Column」を参照してください。
- デフォルト値
-
なし