Queria saber se alguma forma pra fazer, um método que selecione duas tabelas
no caso paciente e endereço e mim traga o endereço de cada paciente.
minhas classes estão assim:
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 {
private String trazidoPor;
private String acompanhante;
private String procedencia;
private String meiodoDeTransporte;
private String dispositivoMedico;
//public Prontuario myProntuario;
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 javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.OneToOne;
import javax.persistence.CascadeType;
import org.hibernate.annotations.Cascade;
import pep.javaFlex.model.entity.Endereco;
@Entity
public class Pessoa{
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private long idPessoa;
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)
private Endereco endereco;
public long getIdPessoa() {
return idPessoa;
}
public void setIdPessoa(long idPessoa) {
this.idPessoa = idPessoa;
}
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 javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;
import javax.persistence.OneToOne;
import pep.javaFlex.model.entity.Pessoa;
@Entity
public class Endereco {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
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")
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;
}
}
Eu fiz pra ele ler a tabelas paciente mais queria saber como ficaria com o endereço o método getList();
package pep.javaFlex.model.repository.hibernate;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import pep.javaFlex.model.entity.Endereco;
import pep.javaFlex.model.entity.Paciente;
import pep.javaFlex.model.repository.PacienteRepository;
@Repository(value=“PacienteRepository”)
public class PacienteHibernateDao extends HibernateDaoSupport implements PacienteRepository{
@Autowired
public PacienteHibernateDao(@Qualifier("sessionFactory")SessionFactory factory){
super.setSessionFactory(factory);
}
public void remove(Paciente paciente) {
getHibernateTemplate().delete(paciente);
}
public Paciente findById(Paciente paciente) throws Exception {
long id = paciente.getIdPessoa();
paciente = (Paciente) getHibernateTemplate().get(Paciente.class,paciente.getIdPessoa());
if(paciente == null)
throw new Exception("O medico com ID:"+id+" do(a) "+Paciente.class.getSimpleName()+"não foi encontrado.");
return paciente;
}
public Paciente save(Paciente paciente) {
getHibernateTemplate().saveOrUpdate(paciente);
return paciente;
}
@SuppressWarnings("unchecked")
public List<Paciente> getList() {
return (List<Paciente>)getHibernateTemplate().loadAll(Paciente.class);
}
public Paciente alter(Paciente paciente){
getHibernateTemplate().update(paciente);
return paciente;
}
}