|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Target(value=TYPE) @Retention(value=RUNTIME) public @interface DiscriminatorColumn
Specifies the discriminator column for the
SINGLE_TABLE
and
JOINED
Inheritance
mapping strategies.
The 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
If the DiscriminatorColumn
annotation is missing,
and a discriminator column is required, the name of the
discriminator column defaults to "DTYPE"
and the discriminator
type to DiscriminatorType.STRING
.
Example: @Entity @Table(name="CUST") @Inheritance(strategy=SINGLE_TABLE) @DiscriminatorColumn(name="DISC", discriminatorType=STRING, length=20) public class Customer { ... } @Entity public class ValuedCustomer extends Customer { ... }
DiscriminatorValue
Optional Element Summary | |
---|---|
java.lang.String |
columnDefinition
(Optional) The SQL fragment that is used when generating the DDL for the discriminator column. |
DiscriminatorType |
discriminatorType
(Optional) The type of object/column to use as a class discriminator. |
int |
length
(Optional) The column length for String-based discriminator types. |
java.lang.String |
name
(Optional) The name of column to be used for the discriminator. |
public abstract java.lang.String name
public abstract DiscriminatorType discriminatorType
DiscriminatorType.STRING
.
public abstract java.lang.String columnDefinition
Defaults to the provider-generated SQL to create a column of the specified discriminator type.
public abstract int length
|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |