javax.persistence

## Annotation Type DiscriminatorValue

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

  Specifies the value of the discriminator column for entities of the given type.

  The `DiscriminatorValue` annotation can only be specified on a concrete entity class.

  If the `DiscriminatorValue` annotation is not specified and a discriminator column is used, a provider-specific function will be used to generate a value representing the entity type. If the `DiscriminatorType` is `STRING`, the discriminator value default is the entity name.

  The inheritance 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. The discriminator value, if not defaulted, should be specified for each entity class in the hierarchy.

          Example:

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

          @Entity
          @DiscriminatorValue("VCUSTOMER")
          public class ValuedCustomer extends Customer { ... }

  Since:
    Java Persistence 1.0
  See Also:
    `DiscriminatorColumn`

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `value` (Optional) The value that indicates that the row is an entity of the annotated entity type.

- - ### Element Detail

    - #### value

          public abstract String value

      (Optional) The value that indicates that the row is an entity of the annotated entity type.

      If the `DiscriminatorValue` annotation is not specified and a discriminator column is used, a provider-specific function will be used to generate a value representing the entity type. If the `DiscriminatorType` is `STRING`, the discriminator value default is the entity name.

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