Olá!
Eu tenho uma interface de consulta que tem uma tabela a qual recebe os dados do banco.jtConsulta.setModel(new DefaultTableModel(
new Object[][]{},
new String[]{"Código", "Nome", "CNPJ", "Endereco", "Nº.", "Cidade", "UF", "E-Mail"}
));
jtConsulta.getColumnModel().getColumn(0).setPreferredWidth(50);
jtConsulta.getColumnModel().getColumn(1).setPreferredWidth(240);
jtConsulta.getColumnModel().getColumn(2).setPreferredWidth(80);
jtConsulta.getColumnModel().getColumn(3).setPreferredWidth(210);
jtConsulta.getColumnModel().getColumn(4).setPreferredWidth(50);
jtConsulta.getColumnModel().getColumn(5).setPreferredWidth(80);
jtConsulta.getColumnModel().getColumn(6).setPreferredWidth(30);
jtConsulta.getColumnModel().getColumn(7).setPreferredWidth(180);
DAO<Empresa> daoE = new DAOFactory().getEmpresaDAO();
lista = daoE.listaTudo();
DefaultTableModel tabela_clientes_modelo = (DefaultTableModel)jtConsulta.getModel();
tabela_clientes_modelo.setNumRows(0);
for(Empresa empresa : lista) {
tabela_clientes_modelo.addRow(new Object[] {
empresa.getId().toString(),
empresa.getNome(),
empresa.getCnpj(),
empresa.getEndereco(),
empresa.getNumero(),
empresa.getCidade(),
empresa.getEstado(),
empresa.getEmail()
});
}
jtConsulta.setModel(tabela_clientes_modelo);
private void jbExcluirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Integer linha = jtConsulta.getSelectedRow();
if(linha >= 0) {
Empresa empresa = lista.get(linha);
DAO<Empresa> dao = new DAOFactory().getEmpresaDAO();
dao.remove(empresa);
System.out.println(empresa.getNome());
} else {
JOptionPane.showMessageDialog(this, "Selecione uma linha para exclusão.");
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.guaicurus.dao;
import java.util.List;
import org.hibernate.Session;
/**
*
* @author higornucci
*/
public class DAO<T> {
private Session session;
private Class classe;
private DAOFactory factory = new DAOFactory();
public DAO(Session session, Class classe) {
this.session = session;
this.classe = classe;
}
public void adiciona(T p) {
factory.beginTransaction();
session.save(p);
factory.commit();
factory.close();
session.close();
}
public void remove(T p) {
factory.beginTransaction();
this.session.delete(p);
factory.commit();
factory.close();
session.close();
}
public void atualiza(T p) {
factory.beginTransaction();
this.session.merge(p);
factory.commit();
factory.close();
session.close();
}
public List<T> listaTudo() {
List<T> lista = this.session.createCriteria(this.classe).list();
session.close();
return lista;
}
public T procura(Long id) {
return (T) session.load(this.classe, id);
}
}
O problema é que não exclui. Estou olhando isso a horas, e a lógica parece certa p/ mim.
Alguem sabe onde estou errando?