javax.persistence.DiscriminatorColumn - JPA annotation
javax.persistence
Annotation DiscriminatorColumn
- Target:
- Classes
Specifies the discriminator column for the
SINGLE_TABLE
and JOINEDInheritance 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:
- JPA 1.0
- See Also:
- DiscriminatorValue
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 value:
- ""
- Since:
- JPA 1.0
(Optional) The type of object/column to use as a class discriminator. Defaults to DiscriminatorType.STRING.
- Default value:
- javax.persistence.DiscriminatorType.STRING
- Since:
- JPA 1.0
int length
(Optional) The column length for String-based discriminator types. Ignored for other discriminator types.
- Default value:
- 31
- Since:
- JPA 1.0
String name
(Optional) The name of column to be used for the discriminator.
- Default value:
- "DTYPE"
- Since:
- JPA 1.0