package br.com.doctors.modelo.administracao;
import javax.persistence.CascadeType;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.MappedSuperclass;
import javax.persistence.OneToOne;
import org.hibernate.annotations.Type;
import org.joda.time.LocalDate;
/**
*
* @author Guilherme
*
*/
@MappedSuperclass
public abstract class Pessoa {
private String nome;
private String telefone;
private String endereco;
private String cpf;
private String email;
@Type(type="org.joda.time.contrib.hibernate.PersistentLocalDate")
private LocalDate dataNascimento;
@OneToOne(fetch=FetchType.EAGER,cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}) @JoinColumn(name="perfil_id")
private PerfilUsuario perfil;
public String getNome() {
return nome;
}
public String getTelefone() {
return telefone;
}
public String getEndereco() {
return endereco;
}
public String getCpf() {
return cpf;
}
public String getEmail() {
return email;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public void setEmail(String email) {
this.email = email;
}
public PerfilUsuario getPerfil() {
return perfil;
}
public void setPerfil(PerfilUsuario perfil) {
this.perfil = perfil;
}
public LocalDate getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(LocalDate dataNascimento) {
this.dataNascimento = dataNascimento;
}
}