Olá, assisti aos cursos de JPA e senti falta de algo que estou implementando num projeto que estou desenvolvendo.
Digamos que tenho as classes PessoaFisica e PessoaJuridica, ambas herdam da classe Pessoa:
Classe Pessoa:
package br.com.projeto.models;
import java.util.List;
public class Pessoa {
private List<Endereco> endereco;
private List<Contato> contatos;
public List<Endereco> getEndereco() {
return endereco;
}
public void setEndereco(List<Endereco> endereco) {
this.endereco = endereco;
}
public List<Contato> getContatos() {
return contatos;
}
public void setContatos(List<Contato> contatos) {
this.contatos = contatos;
}
}
Classe PessoaFisica
package br.com.projeto.models;
import java.util.Calendar;
public class PessoaFisica extends Pessoa{
private String nome;
private String rg;
private String cpf;
private Calendar dataNascimento;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
}
Classe PessoaJuridica
package br.com.projeto.models;
public class PessoaJuridica extends Pessoa {
private String nomeFantasia;
private String razaoSocial;
private String cnpj;
private String inscricaoEstadual;
private Pessoa responsavel;
public String getNomeFantasia() {
return nomeFantasia;
}
public void setNomeFantasia(String nomeFantasia) {
this.nomeFantasia = nomeFantasia;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getInscricaoEstadual() {
return inscricaoEstadual;
}
public void setInscricaoEstadual(String inscricaoEstadual) {
this.inscricaoEstadual = inscricaoEstadual;
}
public Pessoa getResponsavel() {
return responsavel;
}
public void setResponsavel(Pessoa responsavel) {
this.responsavel = responsavel;
}
}
Qual é o método apropriado para persistir essas classes no banco usando o JPA?