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; } }