11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MAPEAMENTO 38O mapeamento objeto-relacional descreve <strong>com</strong>o os conceitos de orientação a objetos são mapeadospara os conceitos do modelo relacional. De todos os conceitos de orientação a objetos, um dosmais <strong>com</strong>plexos de se mapear é o de Herança.A especificação JPA define três estratégias para realizar o mapeamento de herança.• Single Table• Joined• Table Per ClassSingle TableA estratégia Single Table é a mais <strong>com</strong>um e a que possibilita melhor desempenho em relação avelocidade das consultas. Nessa estratégia, a super classe deve ser anotada <strong>com</strong>@Inheritance(strategy=InheritanceType.SINGLE_TABLE).O provedor JPA criará apenas uma tabela <strong>com</strong> o nome da super classe para armazenar os dadosdos objetos criados a partir da super classe ou das sub classes. Todos os atributos da super classee os das sub classes serão mapeados para colunas dessa tabela. Além disso, uma coluna especialchamada DTYPE será utilizada para identificar a classe do objeto correspondente ao registro.1 @Entity2 @Inheritance ( strategy = InheritanceType . SINGLE_TABLE )3 public class Pessoa {4 @Id @GeneratedValue5 private Long id;67 private String nome ;8 }Código Java 2.70: Pessoa.java1 @Entity2 public class PessoaJuridica extends Pessoa {3 private String cnpj ;4 }Código Java 2.71: PessoaJuridica.java1 @Entity2 public class PessoaFisica extends Pessoa {3 private String cpf ;4 }Código Java 2.72: PessoaFisica.java38 www.k19.<strong>com</strong>.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!