Uma entidade que expanda uma classe Superclasse correlacionada herda o estado de persistência e as informações de correlação de uma superclasse. Deve usar uma superclasse correlacionada para definir a informação de correlação comum às classes de várias entidades.
Uma superclasse correlacionada pode ser:
Uma classe concreta ou abstracta
Uma superclasse correlacionada não pode ser:
Consultada ou passada como um argumento ao Gerente de entidades ou a operações de consulta
Ser o destino de uma relação de persistência
Uma superclasse correlacionada não tem uma tabela de base de dados definida. A respectiva informação de correlação é derivada da superclasse. Para substituir a informação de correlação de uma sub-classe específica, use a anotação @AttributeOverride
para essa sub-classe.
Uma superclasse correlacionada é identificada pela anotação @MappedSuperclass
.
Use este procedimento para dar persistência de superclasse correlacionada a uma entidade existente:
Abra a classe de Java no Explorador de Projectos.
Seleccione a classe na vista Estrutura de JPA.
Na vista Detalhes de JPA, faça clique na hiperligação do tipo de correlação para abrir o diálogo Selecção de tipo de correlação.
Seleccione Superclasse correlacionada e, de seguida, faça clique em OK.
Preencha a informação restante na vista Detalhes de JPA (para entidades).