Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@Converter
注釈を使用して、マップ済属性の読取りおよび書込み中にデータ値を変更するための、カスタム・コンバータを指定します。
注釈要素
表2-15は、この注釈の要素を示しています。
表2-15 @Converterの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
コンバータの |
なし |
|
コンバータのクラス。このクラスは、 |
なし |
使用方法
@Converter
を使用して、マッピングとともに使用できる名前付きコンバータを定義します。コンバータは、エンティティ・クラス、メソッドまたはフィールドに定義できます。基本またはElementCollectionマッピングで@Convert注釈を使用してコンバータを指定します。
非JPAコンバータ注釈の使用
EclipseLinkは、(JPAのデフォルト・タイプ・マッピングに加えて)次の一連の非JPAコンバータ注釈を提供します。
永続性プロバイダは、次の順序でコンバータ注釈を検索します。
@Convert
@Enumerated
@Lob
@Temporal
シリアライズ(自動)
次のクラスでコンバータを指定します。
@Entity
@MappedSuperclass
@Embeddable
次のマッピングとともにコンバータを使用します。
@Basic
@Id
@Version
@ElementCollection
コンバータがその他のタイプのマッピング注釈によって指定されている場合、例外がスローされます。
例
例2-32に、@Converter
注釈を使用してgender
フィールドのコンバータ・クラスを指定する方法を示します。
例2-32 @Converter注釈の使用
@Entity
public class Employee implements Serializable{
...
@Basic
@Converter (
name="genderConverter",
converterClass=org.myorg.converters.GenderConverter.class
)
@Convert("genderConverter")
public String getGender() {
return gender;
}
...
}
例2-33に、eclipselink-orm.xml
ファイルの<converter>
要素を使用する方法を示します。
例2-33 <converter> XMLの使用
<entity class="Employee">
...
<attributes>
...
<basic name="gender">
<convert>genderConverter</convert>
<converter name="genderConverter" class="org.myorg.converters.GenderConverter"/>
</basic>
...
</attributes>
</entity>
関連項目
詳細は、次を参照してください。
『Oracle TopLinkの理解』