项目中用到的JPA Annotation 之一:DiscriminatorColumn

Target:
Classes

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 { ... }
 
 

Since:

JPA 1.0

See Also:

DiscriminatorValue
String   columnDefinition
(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.

Default value:
""
Since:
JPA 1.0
(Optional) The type of object/column to use as a class discriminator. Defaults to   DiscriminatorType.STRING.
Default value:
javax.persistence.DiscriminatorType.STRING
Since:
JPA 1.0
int   length
(Optional) The column length for String-based discriminator types. Ignored for other discriminator types.
Default value:
31
Since:
JPA 1.0
String   name
(Optional) The name of column to be used for the discriminator.
Default value:
"DTYPE"
Since:
JPA 1.0

猜你喜欢

转载自diaolanshan.iteye.com/blog/1109809