FileDocCategorySizeDatePackage
DiscriminatorColumn.javaAPI DocGlassfish v2 API4142Fri May 04 22:34:06 BST 2007javax.persistence

DiscriminatorColumn

public class DiscriminatorColumn
Is used to define the discriminator column for the {@link InheritanceType#SINGLE_TABLE SINGLE_TABLE} and {@link InheritanceType#JOINED 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 {@link DiscriminatorType#STRING 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 { ... }
since
Java Persistence 1.0

Fields Summary
Constructors Summary
Methods Summary
java.lang.StringcolumnDefinition()
(Optional) The SQL fragment that is used when generating the DDL for the discriminator column.

Defaults to the provider-generated SQL to create a column of the specified discriminator type.

javax.persistence.DiscriminatorTypediscriminatorType()
(Optional) The type of object/column to use as a class discriminator. Defaults to {@link DiscriminatorType#STRING DiscriminatorType.STRING}.

intlength()
(Optional) The column length for String-based discriminator types. Ignored for other discriminator types.

java.lang.Stringname()
(Optional) The name of column to be used for the discriminator.