| Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@ObjectTypeConverter注釈は、マップ済属性の読取りおよび書込み中にデータベース・データ値の固定数をJavaオブジェクト値に変換するorg.eclipse.persistence.mappings.converters.ObjectTypeConverterを指定します。
注釈要素
表2-43は、この注釈の要素を示しています。
表2-43 @ObjectTypeConverterの注釈要素
| 注釈要素 | 説明 | デフォルト |
|---|---|---|
|
|
この属性をコンバータの |
なし |
|
|
(オプション)この属性をデータベースに格納されるタイプに設定します。 |
|
|
|
(オプション)この属性の値をエンティティに格納されるタイプに設定します。 |
|
|
|
この属性の値を変換値( |
なし |
|
|
この属性の値をデフォルトのオブジェクト値に設定します。この引数はデータ値がない場合にレガシー・データを処理するためのものであることに注意してください。 |
空の |
脚注 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>
関連項目
詳細は、次を参照してください。