30.13.4. ユーザータイプマッピング
ユーザータイプマッピングは、
org.jboss.ejb.plugins.cmp.jdbc.Mapper インターフェースのインスタンスを指定することで JDBC カラムタイプからカスタム CMP フィールドタイプへのマッピングを可能にします。その定義を次に示します。
public interface Mapper
{
/**
* This method is called when CMP field is stored.
* @param fieldValue - CMP field value
* @return column value.
*/
Object toColumnValue(Object fieldValue);
/**
* This method is called when CMP field is loaded.
* @param columnValue - loaded column value.
* @return CMP field value.
*/
Object toFieldValue(Object columnValue);
}
典型的な使用事例は、整数タイプの、タイプセーフ Java 列挙型インスタンスへのマッピングです。
user-type-mappings 要素のコンテンツモデルは、1 つ以上の user-type-mapping 要素から成ります。このコンテンツモデルは図30.20「user-type-mapping コンテンツモデル」に示してあります。

図30.20 user-type-mapping コンテンツモデル
- java-type: マッピングにおける CMP フィールドタイプの完全修飾名。
- mapped-type:マッピングにおけるデータベースタイプの完全修飾名。
- mapper:
java-typeとmapped-type間の変換を処理するMapperインターフェース実装の完全修飾名。