Alguém já passou por isso?
Abs
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Hibernate Brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para hibernat...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para hibernate-bras...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/hibernate-brasil?hl=pt-BR.
Passo a entidade ao método e verifico se o id tá null e, se tiver chamo o método persist do mananger e caso contrário o merge e retorno o id.
Por isso o método é o merge. Ele junta a possível entidade com mesmo id que se encontra no EntityManager com a passada como argumento, e devolve a que está managed. O método merge não faz reattach. Então:
Cliente c = new Cliente();c.setId(1);em.merge(c);c.setNome("Cliente com nome alterado"); |
Não surtirá efeito! Aqui você precisava antes ter pego o que o merge devolveu. Repare na pequena alteração:
Cliente c = new Cliente();c.setId(1);c = em.merge(c);c.setNome("Cliente com nome alterado"); |