Annotation Type TenantDiscriminatorColumn


@Target(TYPE) @Retention(RUNTIME) @Repeatable(TenantDiscriminatorColumns.class) public @interface TenantDiscriminatorColumn
Tenant discriminator column(s) are used with a SINGLE_TABLE multitenant strategy. Tenant discriminator column(s) are completely user specified and there is no limit on how many tenant discriminator columns an application can define (using the TenantDiscriminatorColumns annotation) Tenant discriminator column(s) can be specified at the Entity or MappedSuperclass level and must always be accompanied with a Multitenant(SINGLE_TABLE) specification. It is not sufficient to specify only tenant discriminator column(s).
See Also:
Author:
Guy Pelletier
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    (Optional) The SQL fragment that is used when generating the DDL for the discriminator column.
    (Optional) The name of the context property to apply to the tenant discriminator column.
    jakarta.persistence.DiscriminatorType
    (Optional) The type of object/column to use as a class discriminator.
    int
    (Optional) The column length for String-based discriminator types.
    (Optional) The name of column to be used for the tenant discriminator.
    boolean
    Specifies that the tenant discriminator column is part of the primary key of the tables.
    (Optional) The name of the table that contains the column.
  • Element Details

    • name

      String name
      (Optional) The name of column to be used for the tenant discriminator.
      Default:
      "TENANT_ID"
    • contextProperty

      String contextProperty
      (Optional) The name of the context property to apply to the tenant discriminator column.
      Default:
      "eclipselink.tenant-id"
    • discriminatorType

      jakarta.persistence.DiscriminatorType discriminatorType
      (Optional) The type of object/column to use as a class discriminator. Defaults to DiscriminatorType.STRING.
      Default:
      STRING
    • columnDefinition

      String columnDefinition
      (Optional) The SQL fragment that is used when generating the DDL for the discriminator column.

      Defaults to the provider-generated SQL to create a column of the specified discriminator type.

      Default:
      ""
    • length

      int length
      (Optional) The column length for String-based discriminator types. Ignored for other discriminator types.
      Default:
      31
    • table

      String table
      (Optional) The name of the table that contains the column. If absent the column is assumed to be in the primary table.
      Default:
      ""
    • primaryKey

      boolean primaryKey
      Specifies that the tenant discriminator column is part of the primary key of the tables.
      Default:
      false