Ola amigos estou com problema tenho uma consulta que carrega somente a herança mais a parte que pega a tabela contato que esta ligada a classe pessoa não carrega seus dados.
Quando faço a consulta ela só pega os dados da classe pai e a filho mas da classe Contato que esta ligado a classe pessoa não retorna. como resolvo isso? olha o código.
public class Pessoa {
private int id_pessoa;
private String cep;
private String logradouro;
private String numero;
private String complemento;
private String bairro;
private String cidade;
private String uf;
}
public class pessoaFisica extends Pessoa {
private String cpf;
private String nome;
private String dataNasc;
private String rg;
private String orgemissor;
private String uforgE;
private String dataEmissao;
}
public class pessoaJuridica extends Pessoa {
private String cnpj;
private String razaosocial;
private String inscestadual;
private String inscmunicipal;
}
public class Contato {
private String telefonePri;
private String telefoneSec;
private String celularPri;
private String celularSec;
private String whatsAppPri;
private String whatsAppSec;
private String emailPri;
private String emailSec;
private Pessoa p; // Objeto que pega a classe Pessoa.
}
// consulta da camada daoPessoaFisica.
@Override
public ArrayList consultarPF(String cpf) {
ArrayList<pessoaFisica> lstPF = new ArrayList();
try {
sql = "SELECT * FROM pessoa INNER JOIN pessoafisica ON pessoafisica.id_pessoa = pessoa.id_pessoa INNER JOIN contato ON contato.id_pessoa = pessoafisica.id_pessoa AND pessoafisica.cpf=?";
pst = cnx.getConnection().prepareStatement(sql);
pst.setString(1, cpf);
rs = pst.executeQuery();
while (rs.next()) {
pessoaFisica pf = new pessoaFisica();
pf.setId_pessoa(rs.getInt("id_pessoa"));
pf.setCpf(rs.getString("cpf"));
pf.setNome(rs.getString("nome"));
pf.setDataNasc(rs.getString("data_nasc"));
pf.setRg(rs.getString("rg"));
pf.setOrgemissor(rs.getString("orgEmissor"));
pf.setUforgE(rs.getString("uf_orgE"));
pf.setDataEmissao(rs.getString("data_emissao"));
pf.setCep(rs.getString("cep"));
pf.setLogradouro(rs.getString("logradouro"));
pf.setNumero(rs.getString("numero"));
pf.setComplemento(rs.getString("complemento"));
pf.setBairro(rs.getString("bairro"));
pf.setCidade(rs.getString("cidade"));
pf.setUf(rs.getString("uf"));
Contato c = new Contato();
c.setTelefonePri(rs.getString("telefonePri"));
c.setTelefoneSec(rs.getString("telefoneSec"));
c.setCelularPri(rs.getString("celularPri"));
c.setCelularSec(rs.getString("celularSec"));
c.setWhatsAppPri(rs.getString("whatsAppPri"));
c.setWhatsAppSec(rs.getString("whatsAppSec"));
c.setEmailPri(rs.getString("emailPri"));
c.setEmailSec(rs.getString("emailSec"));
c.setP(pf);
lstPF.add(pf);
}
pst.close();
rs.close();
return lstPF;
} catch (SQLException ex) {
ex.printStackTrace();
}
return null;
}
// VISÃO QUE FAZ A CONSULTA POR CPF.
private void btnprocuraActionPerformed(java.awt.event.ActionEvent evt) {
if (!v.validaCPF(txtcpf.getText().replace(".", "").replace("-", ""))) {
JOptionPane.showMessageDialog(null, "CAMPO CPF EM BRANCO OU INVÁLIDO POR FAVOR REDIGITE NOVAMENTE!!!", "MENSAGEM:", JOptionPane.ERROR_MESSAGE, new ImageIcon(getToolkit().createImage(getClass().getResource("/icones/iconeCancela.png"))));
txtcpf.setValue(null);
txtcpf.requestFocus();
this.limparCampos();
this.desabilitaTudo();
} else if (daoPF.consultarPF(txtcpf.getText().replace(".", "").replace("-", "")).isEmpty()) {
JOptionPane.showMessageDialog(null, "CONSULTA NÃO ENCONTADA!!!", "MENSAGEM:", JOptionPane.ERROR_MESSAGE, new ImageIcon(getToolkit().createImage(getClass().getResource("/icones/iconeCancela.png"))));
txtcpf.setText(null);
txtcpf.requestFocus();
this.limparCampos();
this.desabilitaTudo();
} else {
this.habilitaTudo();
for (pessoaFisica pf : daoPF.consultarPF(txtcpf.getText().replace(".", "").replace("-", ""))) {
//Dados Pessoais da Pessoa Fisica.
id = String.valueOf(pf.getId_pessoa());
txtnome.setText(pf.getNome());
dataNasc.setDate(Date.valueOf(pf.getDataNasc()));
txtrg.setText(pf.getRg());
txtorgemissor.setText(pf.getOrgemissor());
txtuf_orgE.setText(pf.getUforgE());
dataEmissao.setDate(Date.valueOf(pf.getDataEmissao()));
//Dados de Localização da Pessoa Fisica.
txtcep.setText(pf.getCep());
txtlogradouro.setText(pf.getLogradouro());
txtnro.setText(pf.getNumero());
txtcomplemento.setText(pf.getComplemento());
txtbairro.setText(pf.getBairro());
txtcidade.setText(pf.getCidade());
txtuf.setText(pf.getUf());
//Dados dos Contatos da Pessoa Fisica. -> AQUI QUE ESTA O ERRO NÃO CARREGA A CONSULTA NESTA PARTE.
txtTelPri.setText(c.getTelefonePri());
txtTelSec.setText(c.getTelefoneSec());
txtCelPri.setText(c.getCelularPri());
txtCelSec.setText(c.getCelularSec());
txtWSPri.setText(c.getWhatsAppPri());
txtWSSec.setText(c.getWhatsAppSec());
txtEmailP.setText(c.getEmailPri());
txtEmailS.setText(c.getEmailSec());
c.setP(pf);
}
}
}
