Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
前 |
次 |
@InstantiationCopyPolicy
を使用して、エンティティにorg.eclipse.persistence.descriptors.copying.InstantiationCopyPolicy
を設定します。
注釈要素
この注釈の要素はありません。
使用方法
コピー・ポリシーによって、EclipseLinkが共有キャッシュとの間でオブジェクトをクローニングする方法が指定されます。@InstantiationCopyPolicy
によって、EclipseLinkは、オブジェクトをクローニングするために、オブジェクトの新規インスタンスを作成し、各永続属性をコピーします。代替メソッドには@CloneCopyPolicy
があり、これはオブジェクトをクローニングします。
クローニングは、新規インスタンスの作成よりも効率的で、一時属性値または非永続属性値を維持します。共有キャッシュに一時属性値または非永続属性値が必要ない場合は、@InstantiationCopyPolicy
を使用します。
デフォルトのTopLinkコピー・ポリシーは、構成によって異なります。
weaving.internal (およびフィールド・アクセス)を使用する場合、EclipseLinkはオブジェクトをコピーする特別なクローン・メソッドを生成します。
ウィービングを使用しない場合、EclipseLinkはインスタンス化を使用してオブジェクトをコピーします。
@InstantiationCopyPolicy
は、エンティティ、MappedSuperclassまたは埋込み可能エンティティに指定できます。
例
例2-50に、この注釈を使用する方法を示します。
例2-50 @InstantiationCopyPolicy注釈の使用
@Entity
@InstantiationCopyPolicy
public class Employee {
...
transient List events = new ArrayList();
}
例2-51に、eclipselink-orm.xml
ファイルでこの拡張を使用する方法を示します。
例2-51 <instantiation-copy-policy> XMLの使用
<entity name="Employee" class="org.acme.Employee" access="FIELD">
<instantiation-copy-policy/>
...
</entity>
関連項目
詳細は、次を参照してください。