@Target(value=TYPE) @Retention(value=RUNTIME) public @interface DiscriminatorValue
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
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 { ... }
DiscriminatorColumn
public abstract String value
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
STRING
, the discriminator value default is the
entity name.
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.