1
resposta

Erro de Atualização

Olá,

Estou com um problema nas atualizações de um objeto. Primeiro ponto é que o objeto está serializado.

Eu realizo um persist(Object) e retorno para o formulário, realizo uma alteração e ao clicar em salvar chamo o entityManager.merge(Object) uma vez que o objeto ja foi cadastrado anteriormente e retorno o Object para o formulário, até aí tudo ok.

O problema vem depois dos passos anteriores, se o usuario altera o Object no form novamente e clica em salvar, eu chamo o merge novamente também, porém da um erro pq ele ja esta no modo managed.

No entanto queria que após a atualização ele voltasse para o form como detached, para que eu possa chamar o merge e atualizar novamente.

O que eu deveria fazer neste caso?

Esse modo de pegar os dados do form e chamar o merge pra atualizar e retornar para o form é a pratica adequada? Ou eu deveria usar um processo diferente?

1 resposta

Julio, tudo bem ?

Para ele voltar a ser detached, você deveria fechar a conexão com o banco e passar para outro entity manager.

Acredito que essa não seja a melhor forma, além de não ser uma alternativa muito boa.

Acredito que você possa validar o status dele, ou fazer algo do gênero.