Especificando Herança da Entidade

Uma entidade pode herdar propriedades de outras entidades. Você pode especificar uma estratégia para usar para a herança.

Use este procedimento para especificar herança (@Inheritance) para uma entidade existente (@Entity):

  1. Selecione a entidade no Project Explorer.

  2. Na visualização Detalhes do JPA, selecione as informações de Herança.

    Especificando Herança

    Selecionando a área Herança na visualização Detalhes do JPA.
  3. Na lista Estratégia, selecione uma das seguintes estratégias de herança:

    • Uma tabela simples (padrão)

    • Tabela unida

    • Uma tabela por classe

  4. Use a seguinte tabela para completar os campos restantes na guia. Consulte "Informações de Herança" para obter mais detalhes.

    Propriedade Descrição Default
    Coluna do Discriminador Nome da coluna do discriminador ao usar a estratégia de herança Simples ou Unida.

    Esse campo corresponde à anotação @DiscriminatorColumn.


    Tipo de Discriminador Configura o tipo de discriminador para Char ou Integer (em vez de seu padrão: String). O Valor do Discriminador deve corresponder com este tipo. String
    Valor do Discriminador Especifica o valor do discriminador usado para diferenciar uma entidade nesta hierarquia de herança. O valor deve corresponder com o Tipo de Discriminador especificado.

    Esse campo corresponde à anotação @DiscriminatorValue.


    Substituição Padrão Use este campo para especificar colunas de junção da chave primária customizada.

    Esse campo corresponde à anotação @PrimaryKeyJoinClumn.



O Eclipse inclui as seguintes anotações ao campo da entidade:

@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>")

As seguintes figuras ilustram as estratégias de herança diferentes.

Herança de Tabela Simples

Esta figura ilustra a herança de entidade em uma tabela simples.

Herança de Tabela Unida

Esta figura ilustra uma estratégia de herança de subclasse unida.

 

Tarefa Relacionada

Incluindo Persistência em uma Classe

 

Conceito Relacionado

Entendendo o Java Persistence