Hibernate - Erro ao Inserir

Pessoal,

Tenho o seguinte problema com o hibernate e já pesquisei em varios lugares e n encontrei resposta, se alguem souber…

Criei uma nova classe, por exemplo, Pessoa. O id (Long id) fica como nulo, então assim o hibernate sabe que tem q inserir. Eu uso dao.saveOrUpdate(pessoa) e o hibernate gera um comando insert, sendo q se der algum erro no banco, tipo um campo not null, o hibernate executa o rollback mas n volta o id do objeto. Se eu corrigir o objeto após esse erro e executar saveOrUpdate novamene o hibernate tenta executar um update pois o id ficou no objeto, e esse update n vai funcionar.

Eu poderia verificar se deu erro e setar manualmente o id da pessoa, o problema eh q o erro acontece com as collections do objeto tbm, ao inserir o “N” de pessoa, tipo pessoa.telefones, pessoa.enderecos. Assim fica inviavel setar nulo manualmente.

Alguem sabe como corrigir esse erro no hibernate?

Fábio

tenho esse mesmo problema e até hoje nao consegui solução palusivel para isto !!!

Bom, de cara você deve seguir uma recomendação para quem trabalha com Hibernate. Deu problema na transação, descarta tua Session e afins. Sobre o rollback do identificador, não tenho certeza, mas pelo que me lembro o hibernate só implementa isso automaticamente para delete, usando o

hibernate.use_identifer_rollback