Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@ConversionValue
を使用して、ObjectTypeConverter
のデータベース値およびオブジェクト値を指定します。
注釈要素
表2-13は、この注釈の要素を示しています。
使用方法
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>
関連項目
詳細は、次を参照してください。
『Oracle TopLinkの理解』