Package jakarta.persistence
Annotation 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:
- 1.0
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescription(Optional) The SQL fragment that is used when generating the DDL for the discriminator column.(Optional) The type of object/column to use as a class discriminator.int(Optional) The column length for String-based discriminator types.(Optional) The name of column to be used for the discriminator.
-
Element Details
-
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:
- 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:
- ""
-
length
int length(Optional) The column length for String-based discriminator types. Ignored for other discriminator types.- Default:
- 31
-