Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
前 |
次 |
@ExistenceChecking
を使用して、エンティティが新しいか、または存在するかをTopLinkがどのような方法で確認するかを指定します。
merge()
操作では、@ExistenceChecking
を使用して、オブジェクトが存在するかどうか、つまり、オブジェクトを(データベースまたはキャッシュから)読み取る必要があるかどうかを決定するために、TopLinkがキャッシュのみを使用するかどうかを指定します。デフォルトでは、オブジェクトはデータベースから読み取られます。
注釈要素
表2-20は、この注釈の要素を示しています。
表2-20 @ExistenceCheckingの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
(オプション)次の存在チェック・タイプを設定します。
|
|
使用方法
@ExistenceChecking
は、エンティティまたはMappedSuperclassに指定できます。
EclipseLinkでは、次の存在チェック・タイプがサポートされています。
ASSUME_EXISTENCE
: オブジェクトの主キーにnull
が含まれていない場合、その主キーが存在する必要があります。アプリケーションが存在チェックを保証する場合または存在チェックを考慮しない場合に、このオプションを使用できます。
ASSUME_NON_EXISTENCE
: オブジェクトは存在しないと想定します。アプリケーションが存在チェックを保証する場合または存在チェックを考慮しない場合に、このオプションを使用できます。常にINSERT
操作が強制されます。
CHECK_CHACHE
: オブジェクトの主キーにnull
が含まれておらず、キャッシュに含まれている場合、その主キーが存在する必要があります。
CHECK_DATABASE
: データベースでSELECT
を実行します。
例
例2-41に、この注釈を使用する方法を示します。
例2-41 @ExistenceChecking注釈の使用
@Entity
@Cache(type=CacheType.HARD_WEAK, expiryTimeOfDay=@TimeOfDay(hour=1))
@ExistenceChecking(ExistenceType.CHECK_DATABASE)
public class Employee implements Serializable {
...
}
関連項目
詳細は、次を参照してください。
『Oracle TopLinkソリューション・ガイド』のパフォーマンスの拡張に関する項