Membro desde: 08/12/2006 20:25:01
Mensagens: 9
Offline
Bom dia pessoal, estou desenvolvendo um aplicativo com MyFaces + Hibernate 3.1.3 e quando estou tentando excluir um registro que está ativo em minha sessão estou recebendo a seguinte mensagem:
the detached instance passed to delete() had a null identifier
Verifiquei na documentacao do Hibernate e detached é um dos tres estados que um objeto pode estar e simplemeste resolveria utilizar um Lock, SaveOrUpdate.... mas não está funcionando, reparei q se antes de eu Deletar der um session.persist(objeto) consigo excluir... mas acho q isso nao é o mais correto...
Membro desde: 19/07/2005 11:21:24
Mensagens: 469
Localização: Salvador
Offline
É porque você está tentando deletar um objeto que não foi persistido ainda. O erro é justamente este, , quer dizer que ele está sem id. Tente setar um id que ja éxiste no banco nele e chame o metodo, provavelmente vai deletar.
Membro desde: 08/12/2006 20:25:01
Mensagens: 9
Offline
Então esse registro q tento excluir ja está persistido sim, eu na verdade faço o seguinte caminho em minha aplicação:
Pagina de Pesquisa > Seleciono o registro > Exibo o registro em um formulario > Pressiono o botão Excluir > Ocorre o erro
Um detalhe q esta me deixando meio confuso é q se antes de realizar o session.delete(obj) faço um session.persist(obj) ele persiste um novo objeto no banco e exclui o antigo...