Estou precisando de uma ajuda para identificar como faço o mapeamento correto de três classes sendo elas a Pessoa, Endereço e Contato, neste primeiro momento uma Pessoa terá apenas um Endereço e um Contato. Meu objetivo com estas classes e que tanto a endereço quanto a contato sejam apenas um complemento de pessoa mas quero colocar separadamente para validações e dividir melhor a manutenção do código.
public class Pessoa {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nomePessoa;
private TipoPessoa tipoPessoa;
private Endereco endereco;
private Contato contato;
private Blob Observacao;
public Pessoa() {
}
public Pessoa(Integer id, String nomePessoa, TipoPessoa tipoPessoa, Endereco endereco, Contato contato,
Blob observacao) {
super();
this.id = id;
this.nomePessoa = nomePessoa;
this.tipoPessoa = tipoPessoa;
this.endereco = endereco;
this.contato = contato;
Observacao = observacao;
}
public String getNomePessoa() {
return nomePessoa;
}
public void setNomePessoa(String nomePessoa) {
this.nomePessoa = nomePessoa;
}
public TipoPessoa getTipoPessoa() {
return tipoPessoa;
}
public void setTipoPessoa(TipoPessoa tipoPessoa) {
this.tipoPessoa = tipoPessoa;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Integer getId() {
return id;
}
public Contato getContato() {
return contato;
}
public void setContato(Contato contato) {
this.contato = contato;
}
public Blob getObservacao() {
return Observacao;
}
public void setObservacao(Blob observacao) {
Observacao = observacao;
}
}
public class Endereco {
private String logradouro;
private String numero;
private String complemento;
private String cep;
private String bairro;
private String cidade;
private String uf;
public String getLogradouro() {
return logradouro;
}
public void setLogradouro(String logradouro) {
this.logradouro = logradouro;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
}
public class Contato {
private String email;
private String celular;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
}