Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@Customizer
を使用して、org.eclipse.persistence.config.DescriptorCustomizer
を実装し、すべてのメタデータ処理が完了した後にエンティティのクラス・ディスクリプタに対して実行するクラスを指定します。
注釈要素
表2-18は、この注釈の要素を示しています。
使用方法
この注釈を使用して、TopLinkネイティブAPIによってマッピング・メタデータをカスタマイズまたは拡張します。@Customizer
を使用すると、その他のTopLink機能および構成にアクセスできます。
@Customizer
は、エンティティ、MappedSuperclassまたは埋込み可能クラスに指定できます。
注意:
|
例
例2-36に、次のDescriptorCustomer
とともに@Customizer
注釈を使用する方法を示します。
public class MyCustomizer implements DescriptorCustomizer {
public void customize(ClassDescriptor descriptor) {
DirectToFieldMapping genderMapping = (DirectToFieldMapping)descriptor.getMappingForAttributeName("gender");
ObjectTypeConverter converter = new ObjectTypeConverter();
convert.addConversionValue("M", Gender.MALE);
convert.addConversionValue("F", Gender.FEMALE);
genderMapping.setConverter(converter);
}
}
例2-36 @Customizer注釈の使用
@Entity
@Table(name="EMPLOYEE")
@Customizer(mypackage.MyCustomizer.class)
public class Employee implements Serializable {
...
}
例2-37に、eclipselink-orm.xml
ファイルの<customizer>
要素を使用する方法を示します。
例2-37 <customizer> XMLの使用
<entity class="Employee">
<table name="EMPLOYEE"/>
<customizer class="mypackage.MyCustomizer"/>
...
</entity>
関連項目
詳細は、次を参照してください。
『Oracle TopLinkソリューション・ガイド』のJPAエンティティのXMLへのバインドに関する項