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

前
 
次
 

@ObjectTypeConverter

@ObjectTypeConverter注釈は、マップ済属性の読取りおよび書込み中にデータベース・データ値の固定数をJavaオブジェクト値に変換するorg.eclipse.persistence.mappings.converters.ObjectTypeConverterを指定します。

注釈要素

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

表2-43 @ObjectTypeConverterの注釈要素

注釈要素 説明 デフォルト

name

この属性をコンバータのStringの名前に設定します。この名前が永続性ユニットで一意であることを確認します。

なし

dataType

(オプション)この属性をデータベースに格納されるタイプに設定します。

void.class脚注 1 

objectType

(オプション)この属性の値をエンティティに格納されるタイプに設定します。

void.class脚注 1

conversionValues

この属性の値を変換値(ConversionValue: String objectValueおよびString dataValueのインスタンス)の配列に設定します。

なし

defaultObjectValue

この属性の値をデフォルトのオブジェクト値に設定します。この引数はデータ値がない場合にレガシー・データを処理するためのものであることに注意してください。

空のString


脚注 1 デフォルトは、永続性フィールドまたはプロパティのタイプから推測されます。

使用方法

EclipseLinkには、@TypeConverterおよび@StructConverterコンバータも含まれています。

例2-80に、@ObjectTypeConverter注釈を使用してgenderフィールドのオブジェクト・コンバータを指定する方法を示します。

例2-80 @ObjectTypeConverter注釈の使用

public class Employee implements Serializable{
     ...
     @ObjectTypeConverter (
         name="genderConverter",
         dataType=java.lang.String.class,
         objectType=java.lang.String.class,
         conversionValues={
             @ConversionValue(dataValue="F", objectValue="Female"),
             @ConversionValue(dataValue="M", objectValue="Male")}
     )
     @Convert("genderConverter")
     public String getGender() {
         return gender;
     }
     ...
 }

例2-81に示すように、ソース・コードで@ObjectTypeConverter注釈を使用するかわりにデプロイメント・ディスクリプタで<object-type-converter>要素を使用できます。

例2-81 <object-type-converter> XMLの使用

<object-type-converter name="gender-converter" 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>

関連項目

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