não to conseguindo mapear o relacionamento one to one, no hibernate ja tentei de varias formas e toda vez fica dando erro.
aqui estão as classes.
eu to usando java+flex+hibernate+springframework
package pep.javaFlex.model.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
@Entity
public class Paciente extends Pessoa {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private long idPaciente;
private String trazidoPor;
private String acompanhante;
private String procedencia;
private String meiodoDeTransporte;
private String dispositivoMedico;
//public Prontuario myProntuario;
public long getIdPaciente() {
return idPaciente;
}
public void setIdPaciente(long idPaciente) {
this.idPaciente = idPaciente;
}
public String getTrazidoPor() {
return trazidoPor;
}
public void setTrazidoPor(String trazidoPor) {
this.trazidoPor = trazidoPor;
}
public String getAcompanhante() {
return acompanhante;
}
public void setAcompanhante(String acompanhante) {
this.acompanhante = acompanhante;
}
public String getProcedencia() {
return procedencia;
}
public void setProcedencia(String procedencia) {
this.procedencia = procedencia;
}
public String getMeidoDeTransporte() {
return meiodoDeTransporte;
}
public void setMeidoDeTransporte(String meidoDeTransporte) {
this.meiodoDeTransporte = meidoDeTransporte;
}
public String getDispositivoMedico() {
return dispositivoMedico;
}
public void setDispositivoMedico(String dispositivoMedico) {
this.dispositivoMedico = dispositivoMedico;
}
// public Prontuario getMyProntuario() {
// return myProntuario;
// }
//
// public void setMyProntuario(Prontuario myProntuario) {
// this.myProntuario = myProntuario;
// }
}
package pep.javaFlex.model.entity;
import javax.persistence.Entity;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.OneToOne;
import javax.persistence.CascadeType;
import pep.javaFlex.model.entity.Endereco;
public class Pessoa{
private String nomePessoa;
private long idadePessoa;
private int cpfPessoa;
private int rgPessoa;
private String sexoPessoa;
private String paiPessoa;
private String maePessoa;
private String dataNascimentoPessoa;
private String telefResidencial;
private String telefCelular;
private String estadoCivil;
//@OneToOne(cascade = CascadeType.ALL)
@OneToOne(mappedBy="Pessoa")
private Endereco endereco;
public String getEstadoCivil() {
return estadoCivil;
}
public void setEstadoCivil(String estadoCivil) {
this.estadoCivil = estadoCivil;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public String getNomePessoa() {
return nomePessoa;
}
public void setNomePessoa(String nomePessoa) {
this.nomePessoa = nomePessoa;
}
public long getIdadePessoa() {
return idadePessoa;
}
public void setIdadePessoa(long idadePessoa) {
this.idadePessoa = idadePessoa;
}
public long getCpfPessoa() {
return cpfPessoa;
}
public void setCpfPessoa(int cpfPessoa) {
this.cpfPessoa = cpfPessoa;
}
public long getRgPessoa() {
return rgPessoa;
}
public void setRgPessoa(int rgPessoa) {
this.rgPessoa = rgPessoa;
}
public String getSexoPessoa() {
return sexoPessoa;
}
public void setSexoPessoa(String sexoPessoa) {
this.sexoPessoa = sexoPessoa;
}
public String getPaiPessoa() {
return paiPessoa;
}
public void setPaiPessoa(String paiPessoa) {
this.paiPessoa = paiPessoa;
}
public String getMaePessoa() {
return maePessoa;
}
public void setMaePessoa(String maePessoa) {
this.maePessoa = maePessoa;
}
public String getDataNascimentoPessoa() {
return dataNascimentoPessoa;
}
public void setDataNascimentoPessoa(String dataNascimentoPessoa) {
this.dataNascimentoPessoa = dataNascimentoPessoa;
}
public String getTelefResidencial() {
return telefResidencial;
}
public void setTelefResidencial(String telefResidencial) {
this.telefResidencial = telefResidencial;
}
public String getTelefCelular() {
return telefCelular;
}
public void setTelefCelular(String telefCelular) {
this.telefCelular = telefCelular;
}
}
package pep.javaFlex.model.entity;
import javax.persistence.Entity;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import pep.javaFlex.model.entity.Pessoa;
@Entity
public class Endereco {
@Id
private long idEndereco;
private String rua;
private int numero;
private String cidade;
private String bairro;
private int cep;
private String uf;
private String pontoDeReferencia;
// @OneToOne(mappedBy = “endereco”)
@OneToOne
@JoinColumn(name=“idPessoa”)
private Pessoa pessoa;
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
public long getIdEndereco() {
return idEndereco;
}
public void setIdEndereco(long idEndereco) {
this.idEndereco = idEndereco;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public int getCep() {
return cep;
}
public void setCep(int cep) {
this.cep = cep;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getPontoDeReferencia() {
return pontoDeReferencia;
}
public void setPontoDeReferencia(String pontoDeReferencia) {
this.pontoDeReferencia = pontoDeReferencia;
}
}
o erro:
Caused by: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on pep.javaFlex.model.entity.Endereco.pessoa references an unknown entity: pep.javaFlex.model.entity.Pessoa
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:81)
at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:799)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:733)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at pep.javaFlex.controller.AnnotationOptimizedSessionFactoryBean.afterPropertiesSet(AnnotationOptimizedSessionFactoryBean.java:44)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
Agradeço a quem puder mim ajudar.