Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
トランスフォーメーション・マッピングとともに@Transformation
を使用して、データベース列から属性値への変換を定義します(トランスフォーメーション・マッピングが書込み専用ではない場合。書込み専用の場合、@ReadTransformer
注釈が必要です)。
注釈要素
表2-71は、この注釈の要素を示しています。
表2-71 @Transformationの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
(オプション)フィールドまたはプロパティの値を遅延ロードする必要があるか、または即時にフェッチする必要があるかどうかを定義します。
|
|
|
(オプション)フィールドまたはプロパティの値が |
|
使用方法
読取り専用マッピングではない場合、WriteTransformer
注釈またはWriteTransformers
注釈のいずれかを指定する必要があります。各WriteTransformer
は、属性値から単一データベース列値への変換を定義します(列はWriteTransformer
で指定されます)。
例
例2-114に、@Transformation
注釈を使用する方法を示します。
例2-114 @Transformation注釈の使用
@Transformation(fetch=FecthType.LAZY, optional="true")
@ReadTransformer(class=package.MyNormalHoursTransformer.class)
@WriteTranformers({
@WriteTranformer(column=@Column(name="START_TIME"),
method="getStartDate"),
@WriteTranformer(column=@Column(name="END_TIME"),
class=package.MyTimeTransformer.class)
})
@Mutable
@ReturnUpdate
@Access(AccessType.PROPERTY)
@AccessMethods(get="getNormalHours", set="setNormalHours")
@Properties({
@Property(name="x", value="y")
})
例2-115に、eclipselink-orm.xml
ファイルの<transformation>
XML要素を使用する同一マッピングを示します。
例2-115 <transformation> XMLの使用
<transformation name="normalHours" fetch="LAZY" optional="true"> <read-transformer method="buildNormalHours"/> <write-transformer method="getStartTime"> <column name="START_TIME"/> </write-transformer> <write-transformer class="package.MyTimeTransformer"> <column name="END_TIME"/> </write-transformer> <mutable/> <return-update/> <access type="PROPERTY"/> <access-methods get="getNormalHours" set="setNormalHours"/> <properties> <property name="x" value="y"/> </properties> </transformation>
関連項目
詳細は、次を参照してください。