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

前
 
次
 

@QueryRedirectors

@QueryRedirectorsを使用して、前処理および後処理、リダイレクト、または監査などの一部の副次的影響の実行に対するTopLink問合せをインターセプトします。

注釈要素

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

表2-56 @QueryRedirectorsの注釈要素

注釈要素 説明 デフォルト

allQueries

このAllQueries問合せリダイレクタは、より正確なリダイレクタ(ReadObjectQueryリダイレクタなど)または問合せに直接設定されたリダイレクタを持たない実行中のオブジェクト問合せに適用されます。

void.class

delete

デフォルトのDeleteオブジェクト問合せリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のDeleteObjectQueryまたはDeleteAllQueryに適用されます。

void.class

insert

デフォルトのInsert問合せリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のInsertObjectQueryに適用されます。

void.class

readAll

デフォルトのReadAll問合せリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のReadAllQueryに適用されます。

getResultList() APIを介してJPA問合せを実行しているユーザーの場合、このリダイレクタが起動されます。

void.class

readObject

デフォルトのReadObject問合せリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のReadObjectQueryに適用されます。

getSingleResult() APIまたはEntityManager.find()を介してJPA問合せを実行しているユーザーの場合、このリダイレクタが起動されます。

void.class

report

デフォルトのReportQueryリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のReportQueryに適用されます。

集計関数を含む、または複数のエンティティを選択するJPA問合せを実行しているユーザーの場合、このリダイレクタが起動されます。

void.class

update

デフォルトのUpdate問合せリダイレクタは、問合せに直接設定されたリダイレクタを持たない実行中のUpdateObjectQueryまたはUpdateAllQueryに適用されます。Oracle TopLinkでは、UpdateObjectQueryは、データソースへの変更をフラッシュするたびに実行されます。

void.class


使用方法

@QueryRedirectorsを使用して、標準のTopLink問合せ機能を拡張します。

QueryRedirectorを問合せヒントeclipselink.query.redirectorを介して設定するか、エンティティのデフォルトのリダイレクタとして設定できます。

QueryRedirectorsは、TopLink Gridを統合して、問合せをCoherence Gridにリダイレクトする際に使用されます。

例2-94に、この注釈を使用する方法を示します。

例2-94 @QueryRedirectors注釈の使用

@QueryRedirectors(
    allQueries=org.queryredirectors.AllQueriesForEntity.class)
@Entity
public class
...

関連項目

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