Package jakarta.persistence
Annotation Type DiscriminatorColumn
-
@Target(TYPE) @Retention(RUNTIME) public @interface DiscriminatorColumn
Specifies the discriminator column for theSINGLE_TABLE
andJOINED
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 toDiscriminatorType.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:
- 1.0
- See Also:
DiscriminatorValue
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element 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
String name
(Optional) The name of column to be used for the discriminator.- Default:
- "DTYPE"
-
-
-
discriminatorType
DiscriminatorType discriminatorType
(Optional) The type of object/column to use as a class discriminator. Defaults toDiscriminatorType.STRING
.- Default:
- jakarta.persistence.DiscriminatorType.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:
- ""
-
-