|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value=TYPE) @Retention(value=RUNTIME) public @interface ClassExtractor
A ClassExtractor allows for a user defined class indicator in place of providing a discriminator column. The class has the following restrictions:
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)
Required Element Summary | |
---|---|
java.lang.Class<? extends ClassExtractor> |
value
(Required) Defines the name of the class extractor that should be applied to this entity's descriptor. |
Element Detail |
---|
public abstract java.lang.Class<? extends ClassExtractor> value
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |