Uma entidade que estende uma classe Superclasse Mapeada herda o estado persistente e as informações de mapeamento de uma superclasse. Você deve usar uma superclasse mapeada para definir informações de mapeamento que são comuns a várias classes da entidade.
Uma superclasse mapeada pode ser:
Classes abstratas ou concretas
Uma superclasse mapeada não pode ser:
Consultada ou transmitida como um argumento para operações do Gerenciador de Entidade ou de Consulta
Ser destino de um relacionamento persistente
Uma superclasse mapeada não tem uma tabela de banco de dados definida. Em vez disso, suas informações de mapeamento são derivadas de sua superclasse. Para substituir as informações de mapeamento de uma subclasse específica, use a anotação @AttributeOverride
para essa classe específica.
Uma suplerclasse mapeada é identificada pela anotação @MappedSuperclass
.
Use este procedimento para incluir a persistência Superclasse Mapeada para uma entidade existente:
Abra a classe Java no Project Explorer.
Selecione a classe na visualização Estrutura do JPA.
Na visualização Detalhes do JPA, clique no hyperlink de tipo de mapeamento para abrir o diálogo Seleção de Tipo de Mapeamento.
Selecione Superclasse Mapeada e, em seguida, OK.
Conclua o restante da Visualização Detalhes do JPA (para Entidades).