指定实体继承

实体可以从其他实体继承属性。您可以指定要使用的特定继承策略。

使用此过程对现有实体(@Entity)指定继承(@Inheritance):

  1. 项目资源管理器中选择实体。

  2. JPA 详细信息视图中,选择继承信息。

    指定继承

    在“JPA 详细信息”视图中选择“继承”区域。
  3. 策略列表中,选择下列其中一种继承策略:

    • 单个表(缺省值)

    • 连接表

    • 每个类一个表

  4. 使用下表来填写此选项卡上的其余字段。有关其他详细信息,请参阅继承信息

    属性 描述 缺省值
    鉴别器列 使用单个表连接表继承策略时鉴别器列的名称。

    此字段与 @DiscriminatorColumn 注释相对应。


    鉴别器类型 将鉴别器类型设置为 CharInteger(替换缺省类型 String)。鉴别器值必须与此类型相符。 字符串
    鉴别器值 指定此继承层次结构中用来区分实体的鉴别器值。此值必须与指定的鉴别器类型相符。

    此字段与 @DiscriminatorValue 注释相对应。


    覆盖缺省值 使用此字段来指定定制主键连接列。

    此字段与 @PrimaryKeyJoinClumn 注释相对应。



Eclipse 将对该实体字段添加下列注释:

@Inheritance(strategy=InheritanceType.<INHERITANCE_STRATEGY>)
@DiscriminatorColumn(name="<DISCRIMINATOR_COLUMN>",
    discriminatorType=<DISCRIMINATOR_TYPE>)
@DiscriminatorValue(value-"<DISCRIMINATOR_VALUE>")
@PrimaryKeyJoinColumn(name="<JOIN_COLUMN_NAME>",
    referencedColumnName = "<REFERENCED_COLUMN_NAME>")


下图举例说明了不同的继承策略。

单个表继承

此图举例说明了单个表中的实体继承。

连接表继承

此图说明了一个已连接的子类继承策略。

 

相关任务

对类添加持久性

 

相关概念

理解 Java 持久性