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

前
 
次
 

@TenantTableDiscriminator

テナントごとの表マルチテナンシにより、アプリケーションの複数のテナントは、1つ以上のテナント固有の表にデータを分離できます。テナント表識別子は、テナントごとの表マルチテナンシ方針でテナント表と他のテナント表を区別する方法を指定します。

注釈要素

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

表2-69 @TenantTableDiscriminatorの注釈要素

注釈要素 説明 デフォルト

java.lang.String ContextProperty

(オプション)テナント表識別子として適用されるコンテキスト・プロパティの名前

eclipselink.tenant-id

TenantTableDiscriminator type

(オプション)永続性ユニットの表とともに使用するテナント表識別子のタイプ

  • SCHEMA

  • SUFFIX

  • PREFIX

SUFFIX


使用方法

テナントごとの表マルチテナンシでは、テナントの表は、接頭辞または接尾辞のネーミング・パターンを使用して区別することで同じスキーマに存在できます。または、異なるスキーマに存在できます。テナント表識別子により、テナントの表を特定して他のテナントの表から分離するために、接頭辞または接尾辞のネーミング・パターンを使用するか異なるスキーマを使用するかが特定されます。タイプは次のとおりです。

テナント表識別子は、エンティティ・レベルまたはマップされたスーパークラス・レベルで指定することができ、常にMultitenant(TABLE_PER_TENANT)とともに使用される必要があります。テナント表識別子のみの指定では不十分です。

@TenantTableDiscriminatorおよびテナントごとの表マルチテナンシの使用の詳細は、「@Multitenant」を参照してください。

次の例に、SCHEMAタイプの表識別子を示します。

例2-112 @TenantTableDiscriminator注釈の使用

@Entity
@Table(name=“EMP”)
@Multitenant(TABLE_PER_TENANT)
@TenantTableDiscriminator(type=SCHEMA, contextProperty="eclipselink.tenant-id")
public class Employee {
    ...
}
 

例2-113 <tenant-table-discriminator> XMLの使用

<entity class="Employee">
  <multitenant type="TABLE_PER_TENANT">
    <tenant-table-discriminator type="SCHEMA" context-property="eclipselink.tenant-id"/>
  </multitenant>
  <table name="EMP">
  ...
</entity>

関連項目