Olá!
Eu tenho uma interface de consulta que tem uma tabela a qual recebe os dados do banco.
[code] 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);[/code]
O usuario pode selecionar uma linha e, se desejar, pode excluir ela do banco.
[code] 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.");
}
}[/code]
Aqui vai minha classe DAO.
[code]/*
- 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 {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§;
factory.commit();
factory.close();
session.close();
}public void remove(T p) {
factory.beginTransaction();
this.session.delete§;
factory.commit();
factory.close();
session.close();
}public void atualiza(T p) {
factory.beginTransaction();
this.session.merge§;
factory.commit();
factory.close();
session.close();
}public List listaTudo() {
List lista = this.session.createCriteria(this.classe).list();
session.close();
return lista;
}public T procura(Long id) {
return (T) session.load(this.classe, id);
}
}
[/code]
O problema é que não exclui. Estou olhando isso a horas, e a lógica parece certa p/ mim.
Alguem sabe onde estou errando?