ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLinkのためのCoherence Grid統合ガイド
11g リリース1(11.1.1)
B61395-01
  目次へ移動
目次

前
 
次
 

問合せ

この項では、次の項目に関する情報を提供します。

IDによるオブジェクトの問合せ

特定のID(キー)を使用してエンティティをCoherenceキャッシュから取得するには、em.find(Entity.class, ID)を使用します。

たとえば、em.find(Employee.class, 8)を使用すると、キー8を持つエンティティがCoherenceのEmployeeキャッシュから取得されます。

エンティティがCoherenceキャッシュ内に見つからない場合、TopLinkはデータベースに対してSELECT文を実行します。結果が見つかると、エンティティが構成されてCoherenceに挿入されます。

基準を使用したオブジェクトの問合せ

特定の選択基準に一致するエンティティを取得するには、em.createQuery("...")を使用します。たとえば、em.createQuery("select e from Employee e where e.name='John'")を使用すると、Johnという名前を持つ従業員を検索するために、SELECT文がデータベースに対して実行されます。

問合せの具体的な動作は、Coherenceのキャッシュ構成によって異なります。

  • グリッド・キャッシュ: 問合せでは常にデータベースがチェックされます。

  • グリッド読取りおよびグリッド・エンティティ: 問合せではCoherenceキャッシュがチェックされます。Coherenceにエンティティが存在しない場合は、データベースが問合せされます。

    問合せヒントを使用すると、問合せをCoherenceキャッシュではなくデータベースに送ることができます。

  • CacheStore/CacheLoader: 非主キー問合せではデータベースがチェックされます。主キー問合せは最初に、Coherenceキャッシュに対して実行されます。

制限事項

Coherenceを問い合せる際は、次の制限事項に注意してください。

  • JPQLバルク更新および削除: このリリースのTopLink Gridでは、JPQLバルク更新および削除をサポートしていません。

  • 結合: Coherenceのフィルタ・フレームワークは単一キャッシュに制限されているため、JPQLの結合問合せをフィルタに変換することはできません。すべての結合問合せはデータベースに対して実行されます。

    問合せ結果のオブジェクト構成のコストを回避するために、Coherenceが引き続き使用されます。

  • 予測問合せ: このリリースのTopLink Gridでは、予測問合せ(レポート)をサポートしていません。