javax.persistence

## Annotation Type DiscriminatorColumn

-     @Target(value=TYPE)
      @Retention(value=RUNTIME)
      public @interface DiscriminatorColumn

  Specifies the discriminator column for the `SINGLE_TABLE` and `JOINED` `Inheritance` mapping strategies.

  The strategy and the discriminator column are only specified in the root of an entity class hierarchy or subhierarchy in which a different inheritance strategy is applied

  If the `DiscriminatorColumn` annotation is missing, and a discriminator column is required, the name of the discriminator column defaults to `"DTYPE"` and the discriminator type to `DiscriminatorType.STRING`.

           Example:

           @Entity
           @Table(name="CUST")
           @Inheritance(strategy=SINGLE_TABLE)
           @DiscriminatorColumn(name="DISC", discriminatorType=STRING, length=20)
           public class Customer { ... }

           @Entity
           public class ValuedCustomer extends Customer { ... }

  Since:
    Java Persistence 1.0
  See Also:
    `DiscriminatorValue`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `columnDefinition` (Optional) The SQL fragment that is used when generating the DDL for the discriminator column.
    `DiscriminatorType` | `discriminatorType` (Optional) The type of object/column to use as a class discriminator.
    `int` | `length` (Optional) The column length for String-based discriminator types.
    `String` | `name` (Optional) The name of column to be used for the discriminator.

- - ### Element Detail

    - #### name

          public abstract String name

      (Optional) The name of column to be used for the discriminator.
      Default:
        "DTYPE"

    - #### discriminatorType

          public abstract DiscriminatorType discriminatorType

      (Optional) The type of object/column to use as a class discriminator. Defaults to `DiscriminatorType.STRING`.
      Default:
        javax.persistence.DiscriminatorType.STRING

    - #### columnDefinition

          public abstract 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

          public abstract int length

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

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.