JPA Herança

710 palavras 3 páginas
1

JPA (JAVA PERSISTENCE API)
... HERANÇA
PSC - Programação de Softwares Corporativos

Grande Capítulo: JPA/Hibernate
2






Parte 1: Modelagem Conceitual
Parte 2: Mapeamento de Objeto Relacional
Parte 3: Entity Manager – realização de operações
Parte 4: API de consulta – JPQL (HQL)

3

Parte 2:
Mapeamento Objeto-Relacional
- Herança

Mapeamento de Hierarquia de Classes

Mapeamento de Hierarquia de Classes


Existem 3 estratégias de mapeamento de hierarquia
Uma tabela para toda a hierarquia de classes



Uma tabela por classe concreta

e

Desempenh oFlexibilidad 



Uma tabela por subclasse

Estratégia 1


Uma tabela para toda a hierarquia de classes






Toda a hierarquia de classes é representada por uma única tabela no banco de dados
Propriedades de uma subclasse específica não podem conter o atributo nullable=false: @Column(nullable=false)
Utiliza a anotação @DiscriminatorColumn para identificar a instância

Estratégia 1


Uma tabela para toda a hierarquia de classe
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name=“TYPE",
discriminatorType=DiscriminatorType.STRING) public class Person { …}
@Entity
@DiscriminatorValue(“EMP") public class Employee { … }
@Entity
@DiscriminatorValue(“STU") public class Student { … }

Estratégia 1


Uma tabela para toda a hierarquia de classe:






@Inheritance e @DiscriminatorColumn só devem ser utilizados no topo da hierarquia.
Caso não seja informado um name para o DiscriminatorType o default é DTYPE
Caso não seja informado um valor para o DiscriminatorValue o default é o nome da entidade, conforme definido na anotação
@Entity.

Estratégia 2


Uma tabela por classe concreta
 Cada

classe concreta será armazenada em uma tabela distinta Estratégia 2


Uma tabela por classe concreta



A classe abstrata Person não é mapeada
As sub-classes são

Relacionados

  • JPA-Mini-Livro
    12659 palavras | 51 páginas
  • NR 07
    1527 palavras | 7 páginas
  • Programacao
    5561 palavras | 23 páginas
  • JPA/Hibernate
    1921 palavras | 8 páginas
  • kkkkkkkkk
    12581 palavras | 51 páginas
  • JPA - informatica
    12659 palavras | 51 páginas
  • Orm jpa
    1700 palavras | 7 páginas
  • Frameworks de persistência
    9453 palavras | 38 páginas
  • Introdu O A JPA
    907 palavras | 4 páginas
  • Trabalho indivual 3° semestre objetividade das programações
    2948 palavras | 12 páginas