Top Description Methods
jakarta.persistence

public @Interface DiscriminatorColumn

extends Annotation
Annotations
@Target:TYPE
@Retention:RUNTIME
Imports
java.lang.annotation.Target, .Retention

Specifies the discriminator column for the SINGLE_TABLE and JOINED inheritance mapping strategies.

The mapping strategy and discriminator column are only specified for 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 { ... }
@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, DiscriminatorType

Method Summary

Modifier and TypeMethod and Description
public String
columnDefinition()

(Optional) The SQL fragment that is used when generating the DDL for the discriminator column.

public DiscriminatorType
discriminatorType()

(Optional) The type of object/column to use as a class discriminator.

public int
length()

(Optional) The column length for String-based discriminator types.

public String
name()

(Optional) The name of column to be used for the discriminator.

public String
options()

(Optional) A SQL fragment appended to the generated DDL which declares this column.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

columnDefinitionback to summary
public 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.

discriminatorTypeback to summary
public DiscriminatorType discriminatorType()

(Optional) The type of object/column to use as a class discriminator. Defaults to DiscriminatorType.STRING.

lengthback to summary
public int length()

(Optional) The column length for String-based discriminator types. Ignored for other discriminator types.

nameback to summary
public String name()

(Optional) The name of column to be used for the discriminator.

optionsback to summary
public String options()

(Optional) A SQL fragment appended to the generated DDL which declares this column. May not be used in conjunction with columnDefinition().

Since
3.2