Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


8.22.30 @MapKey

〈この項の構成〉

(1) 説明

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

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

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

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

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

(2) 属性

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

属性名

任意/必須

属性の説明

name

任意

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

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

(a) name属性

String

説明

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

デフォルト値

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