Cosminexus アプリケーションサーバ V8 リファレンス API編

[目次][索引][前へ][次へ]

2.6.30 @MapKey

<この項の構成>
(1) 説明
(2) 属性

(1) 説明

OneToManyリレーションシップまたはManyToManyリレーションシップで被所有者側のエンティティクラスがjava.util.Map型で示される場合に,マップ内のオブジェクト識別に用いられるマップキーを指定するアノテーションです。

name属性が指定されない場合,関連づけられたエンティティのプライマリキーはマップキーとして使われます。

プライマリキーが複合プライマリキーである場合に@IdClassとしてマップされるときは,マップキーに複合プライマリキーを使います。

プライマリキー以外の永続化フィールドまたは永続化プロパティがマップキーとして使われる場合は,そのマップキーと関連したユニークキー制約を持つことができます。

適用可能要素は,メソッドとフィールドです。

(2) 属性

@MapKeyの属性の一覧を次の表に示します。

属性名 任意/必須 属性の説明
name 任意 マップキーとして使われる被所有者側のエンティティクラスの永続化フィールドまたは永続化プロパティの名前を指定する属性です。

Cosminexus JPAプロバイダで対応する属性の詳細を次に示します。

(a) name属性

String

説明
マップキーとして使われる被所有者側のエンティティクラスの永続化フィールドまたは永続化プロパティの名前を指定する属性です。

デフォルト値
被所有者側のエンティティクラスのプライマリキーフィールドまたはプロパティの名前