O documento discute estratégias de mapeamento de classes para tabelas no banco de dados usando Hibernate. Ele explica os tipos Tabela por Classe, Tabela Simples e Tabela por Subclasse, onde classes e subclasses podem ser mapeadas para uma ou mais tabelas. O documento também fornece um exemplo de implementação para armazenar dados de clientes, advogados e funcionários de um escritório de advocacia.
2. Hibernate
Herança
Tabela por Classe
Cada classe filha representa uma tabela no SGBD
Tabela Simples / Tabela por Hierarquia
Todas as classes representam somente uma tabela no SGBD
Tabela por SubClasse
Cada classe representa uma tabela no SGBD inclusive a
classe mãe
3. Herança
Tabela Por Classe
Cada classe filha representa uma tabela no SGBD
PessoaFisica PessoaJuridca
• Id • Id
• Nome • Nome
• DataNascimento • DataNascimento
• Cpf • Cnpj
• NomeFantasia
4. Herança
Tabela por Classe
Cada classe filha representa uma tabela no SGBD
Pessoa
Id
Nome
dataNascimento
PessoaJuridica
PessoaFisica
Cnpj
Cpf
nomeFantasia
7. Herança
Tabela Simples
Todas as classes representam somente uma tabela no
SGBD
Flor
Flor Id
Cor
• Id TipoFlor
• Cor
• TamanhoEspinhos
• TipoFlor
Rosa
Tulipa
tamanhoEspinhos
10. Herança
Tabela por SubClasse
Todas as classes são representações de tabelas
Veiculo Carro Caminhao
• Id • TamanhoPortaMalasl • TipoCarga
• Chassi • QtdadePortas • Altura
• Placa
• Modelo
11. Herança
Tabela por SubClasse
Todas as classes são representações de tabelas
Veiculo
Id
Chassi
Placa
Modelo
Carro Caminhao
TamanhoPortaMalas TipoCarga
QtdadePortas Altura
14. Implementando
Faça uma classe de serviço que persista, recupere e
atualize dados de pessoas para um escritório de
advocacia. O escritório é composto por clientes,
advogados e funcionários diversos.
Todas pessoas possuem nome, cpf, telefone e endereço
Clientes possuem registros de atendimentos
Funcionários possuem número da carteira de trabalho,
e registros de horário
Advogados possuem número da OAB e horários de
atendimento