@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface ClassExtractor
The ClassExtractor must only be set on the root of an entity class or sub-hierarchy in which a different inheritance strategy is applied. The ClassExtractor can only be used with the SINGLE_TABLE and JOINED inheritance strategies.
If a ClassExtractor is used then a DiscriminatorColumn cannot be used. A DiscriminatorColumn also cannot be used on either the root or its subclasses.
In addition, for more complex configurations using a ClassExtractor and a SINGLE_TABLE strategy, the descriptor's withAllSubclasses and onlyInstances expressions should be set through the ClassExtractor's initialize method.
ClassExtractor
,
org.eclipse.persistence.descriptors.InheritancePolicy.setWithAllSubclassesExpression(Expression)
,
org.eclipse.persistence.descriptors.InheritancePolicy.setOnlyInstancesExpression(Expression)
Modifier and Type | Required Element and Description |
---|---|
java.lang.Class<? extends ClassExtractor> |
value
(Required) Defines the name of the class extractor that should be
applied to this entity's descriptor.
|
public abstract java.lang.Class<? extends ClassExtractor> value