Boa tarde a todos,
Estou com um pequeno problema e até agora não encontrei a solução.
O código abaixo é um evento que “captura” o id da pessoa em uma JTable, faz uma pesquisa no banco para encontrar os telefones desta pessoa e exibe TODOS os telefones em uma outra JTable.
Isso esta funcionando, porém ele não esta exibindo todos os telefones desta pessoa.
Por exemplo, se a pessoa tem dois telefones, ele esta exibindo duas linhas com o mesmo telefone, repetindo ao invés de mostra o outro…
Usando o System.out.print… ele exibe os dois telefones certinho.
private void pesquisarPeloID(){
int linha = jtDadosPessoais.getSelectedRow();
int id = (Integer)jtDadosPessoais.getModel().getValueAt(linha,0);
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
Pessoa pessoa = (Pessoa)s.get(Pessoa.class, id);
Vector<String> tableHeaders = new Vector<>();
Vector tableData = new Vector();
tableHeaders.add("DDD");
tableHeaders.add("Fone");
Vector<Object> oneRow = new Vector<>();
for (Iterator ip = pessoa.getTelefones().iterator(); ip.hasNext();){
Telefone tel = (Telefone) ip.next();
oneRow.add(tel.getDdd());
oneRow.add(tel.getFone());
tableData.add(oneRow);
jTTelefone.setModel(new DefaultTableModel(tableData, tableHeaders));
}
}