jakarta.persistence.DiscriminatorValue
- Implemented Interfaces:
Annotation
- Target:
- Type
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 { ... }
- See Also:
- Since:
- Jakarta Persistence (JPA) 1.0
Annotation Elements
String value 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.
- Since:
- Jakarta Persistence (JPA) 1.0
Additional JDK methods inherited from java.lang.annotation.Annotation
annotationType(), equals(Object), hashCode(), toString()