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 { ... }
DiscriminatorValue, DiscriminatorType
| Modifier and Type | Method and Description |
|---|---|
| public String | columnDefinition()
(Optional) The SQL fragment that is used when generating the DDL for the discriminator column. |
| public DiscriminatorType | |
| public int | |
| public String | |
| public String |
| columnDefinition | back 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. | |
| discriminatorType | back to summary |
|---|---|
| public DiscriminatorType discriminatorType() (Optional) The type of object/column to use as a class discriminator.
Defaults to | |
| length | back to summary |
|---|---|
| public int length() (Optional) The column length for String-based discriminator types. Ignored for other discriminator types. | |
| name | back to summary |
|---|---|
| public String name() (Optional) The name of column to be used for the discriminator. | |
| options | back 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
| |