The DiscriminatorValue
annotation can only be specified
on a concrete entity class.
If the DiscriminatorValue
annotation is not specified,
and a discriminator column is used, a provider-specific function
is used to generate a value representing the entity type. If the
DiscriminatorType
is STRING
, the discriminator value default is the entity name.
The inheritance strategy and the discriminator column are only specified for the root of an entity class hierarchy or subhierarchy in which a different inheritance strategy is applied. But the discriminator value, if not defaulted, should be specified for each concrete entity class in the hierarchy.
Example:
@Entity
@Table(name = "CUST")
@Inheritance(strategy = SINGLE_TABLE)
@DiscriminatorColumn(name = "DISC", discriminatorType = STRING, length = 20)
@DiscriminatorValue("CUSTOMER")
public class Customer { ... }
@Entity
@DiscriminatorValue("VCUSTOMER")
public class ValuedCustomer extends Customer { ... }
- Since:
- 1.0
- See Also:
-
Required Element Summary
-
Element Details
-
value
String value(Optional) The value that indicates that the row is an entity of the annotated entity type.If the
DiscriminatorValue
annotation is not specified and a discriminator column is used, a provider-specific function is used to generate a value representing the entity type. If theDiscriminatorType
isSTRING
, the discriminator value default is the entity name.
-