| 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の理解』