ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

@ConversionValue

@ConversionValueを使用して、ObjectTypeConverterのデータベース値およびオブジェクト値を指定します。

注釈要素

表2-13は、この注釈の要素を示しています。

表2-13 @ConversionValueの注釈要素

注釈要素 説明 デフォルト

dataValue

(必須)データベース値


objectValue

(必須)オブジェクト値



使用方法

JPA仕様により、データベース値がEnumの名前または序数値のいずれかである場合、@Enumerated注釈を使用してEnumをデータベース列にマップできます。EclipseLinkでは、コンバータを使用してEnumをコード化された値にマップすることもできます。

例2-29では、enum Gender(MALE, FEMALE)がデータベースの単一文字(M=MALEおよびF=FEMALE)にマップされます。

例2-29 @ConversionValue注釈の使用

@ObjectTypeConverter(name = "gender", objectType = Gender.class, dataType = String.class, conversionValues = {
  @ConversionValue(objectValue = "Male", dataValue = "M"),
  @ConversionValue(objectValue = "Female", dataValue = "F") })

...

@Basic
@Convert("gender")
private Gender gender = Gender.Male;

例2-30では、XMLを使用する同じ機能を示します。

例2-30 <conversion-value> XMLの使用

<object-type-converter name="gender" object-type="model.Gender   "data-type="java.lang.String">
  <conversion-value object-value="Male" data-value="M" />
  <conversion-value object-value="Female" data-value="F" />
</object-type-converter>

...

<basic name="gender">
  <column name="GENDER" />
  <convert>gender</convert>
</basic>

関連項目

詳細は、次を参照してください。