ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

@Mutable

@Basicマッピングで@Mutableを使用して、複合フィールド・タイプの値を置換するのではなく、変更できる(または変更できない)かどうかを指定します。可変マッピングは、変更追跡のパフォーマンスに影響する場合があります。属性変更追跡は、非可変マッピングを使用する場合にのみウィービングできます。

注釈要素

表2-33は、この注釈の要素を示しています。

表2-33 @Mutableの注釈要素

注釈要素 説明 デフォルト

boolean value

(オプション)マッピングが可変かどうかを指定します。

true


使用方法

ほとんどの基本タイプ(intlongfloatdoubleStringBigDecimalなど)は、可変ではありません。

デフォルトでは、DateおよびCalendarタイプは可変ではないと想定されます。これらのタイプを可変にするには、@Mutable注釈を使用します。グローバルな永続性プロパティeclipselink.temporal.mutableを使用して、マッピングを可変として設定することもできます。

デフォルトでは、シリアライズされたタイプは可変と想定されます。@Mutable注釈をfalseに設定して、これらのタイプを可変でなくすることができます。

persistence.xmlファイルにある永続性ユニットのDateおよびCalendarフィールドの可変マッピングも構成できます。

例2-65に、@Mutable注釈を使用してEmployeeフィールドのhireDateを指定する方法を示します。

例2-65 @Mutable注釈の使用

@Entity
public class Employee implements Serializable {

    ...

    @Temporal(DATE)
    @Mutable
    public Calendar getHireDate() {
        return hireDate;
    }

..
}

例2-66に、永続性ユニットのpersistence.xmlファイルで、またはpropertyマップをインポートすることによって、可変マッピングを構成する方法を示します。

例2-66 persistence.xmlでの可変マッピングの指定

persistence.xmlファイルを使用する場合:

<property name="eclipselink.temporal.mutable" value="true"/>

propertyマップを使用する場合:

import org.eclipse.persistence.config.PersistenceUnitProperties;
propertiesMap.put(PersistenceUnitProperties.TEMPORAL_MUTABLE, "false");

関連項目

詳細は、次を参照してください。