Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス 12c (12.1.2) E48005-01 |
|
![]() 前 |
![]() 次 |
@HashPartitioning
を使用して、オブジェクト(オブジェクトの場所またはテナントなど)からのフィールド値のハッシュによって、データベース・クラスタへのアクセスをパーティション化します。ハッシュによって、接続プールのリストに索引が付けられます。
注釈要素
表2-25は、この注釈の要素を示しています。
表2-25 @HashPartitioningの注釈要素
注釈要素 | 説明 | デフォルト |
---|---|---|
|
(必須)パーティション・ポリシーの名前。名前は、永続性ユニット内で一意である必要があります。 |
|
|
(必須)問合せをパーティション化するためのデータベース列または問合せパラメータ。 |
|
|
(オプション)パーティション化するための接続プール名のリスト。 |
ServerSessionのすべての定義済プール |
|
(オプション)パーティション・ハッシュを含まない問合せをすべてのデータベースに送信し、結果を統合するかどうかを指定します。 |
False |
使用方法
ハッシュ値を持つオブジェクトに対するすべての書込みまたは読取り要求は、サーバーに送信されます。パラメータとしてフィールドを含まない問合せは、次のように処理されます。
すべてのサーバーに送信され、統合されます。
または
セッションのデフォルトの動作に基づいて処理されます。
パーティション化は、エンティティ、リレーションシップ、問合せ、またはセッション/永続性ユニットで有効にできます。パーティション・ポリシーは、グローバルに名付けられ(再利用を可能にするため)、@Partitioned
注釈を使用して設定する必要があります。
永続性ユニット・プロパティは、読取り/書込み/シーケンスの既存の構成に加えて、名前付き接続プールの追加をサポートします。名前付き接続プールは、データベース・クラスタの各ノードに対して定義される必要があります。
トランザクションによって複数のパーティションからのデータが変更される場合、JTAを使用してデータの適切な2フェーズ・コミットを確認する必要があります。1つのトランザクションに1つのノードのみが使用されるように、EntityManagerで排他接続を構成することもできます。
例
EclipseLinkを使用したパーティション化の例は、「@Partitioned」を参照してください。
関連項目
詳細は、次を参照してください。