JPA Annotation

DiscriminatorColumn

Target: TYPE
Implemented Interfaces:
Annotation

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 { ... }
See Also:
DiscriminatorValue
Since:
JPA 1.0

Public Annotation Attributes

String columnDefinition default ""
(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.

Since:
JPA 1.0
(Optional) The type of object/column to use as a class discriminator.
Defaults to DiscriminatorType.STRING.
Since:
JPA 1.0
int length default 31
(Optional) The column length for String-based discriminator types.
Ignored for other discriminator types.
Since:
JPA 1.0
String name default "DTYPE"
(Optional) The name of column to be used for the discriminator.
Since:
JPA 1.0