| Is used to specify the value of the discriminator column for
entities of the given 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 will be used to generate a value representing the
entity type. If the
DiscriminatorType is
DiscriminatorType.STRING STRING , the discriminator value
default is the entity name.
The inheritance 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. The discriminator value, if not defaulted, should be
specified for each 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: Java Persistence 1.0 |