[RESOLVIDO]Problemas ao excluir dados com Hibernate

4 respostas
P

Prezados ,

Estou com dificuldades em excluir dados de uma tabela .

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    CadFunc cad = new CadFunc() ;
    Session sessao = new HibernateUtil().getSession();
    Transaction t = sessao.beginTransaction();
    cad.setIdFunc(Long.parseLong(jTextField7.getText()));
    sessao.delete(cad);
    t.commit();
    sessao.close();

}

Eis o erro :

INFO: Not binding factory to JNDI, no JNDI name configured
Exception in thread “AWT-EventQueue-0” org.hibernate.PropertyValueException: not-null property references a null or transient value: sge2.CadFunc.nomeFunc
Esse atributo em meu banco (mysql) nomeFunc esta NOT NULL

Consigo consultar salvar alterar soh nao excluir ! Se estiver algo errado no meu codigo , favor me informar .

Muito Obrigado !

4 Respostas

R

Você pode tentar carregar o objeto a partir do banco antes de excluí-lo:

cad = (CadFunc) sessao.get(CadFunc.class, Long.parseLong(jTextField7.getText()));

if (cad != null) {
  sessao.delete(cad);
}

Outra saída é fazer a exclusão via HQL:

Query query = sessao.createQuery("DELETE FROM CadFunc WHERE idFunc = :idFunc");
query.setParameter("idFunc", Long.parseLong(jTextField7.getText()));
query.executeUpdate();
Lags

Cara, dá uma olhada neste método excluir:

public void excluir(Produto produto) throws HibernateException { Session session = new HibernateFactory().getSession(); session.getTransaction().begin(); session.delete(produto); session.getTransaction().commit(); session.close(); }

Só uma pergunta, você esta querendo excluir dados listado no Jtable?

P

Testei com as 2 formas e ambas funcionaram !!!
Obrigado aos dois usuarios !!!

Lags

Frente do seu assunto coloca [RESOLVIDO] para que outros usuário possam ver , é uma norma da comunidade.

vlw

Criado 12 de dezembro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 4
Participantes 3