[RESOLVIDO] Clonar Objeto e persistir com JPA

2 respostas
jpajsfcdi
M

Gostaria de uma solução para persistir uma cópia do objeto, tenho que copiar porque quero colocar null no id, por exemplo;

Carrego um objeto Endereco do banco de dados, ele vem com Cidade e Estado (Herança), altero o número e tenho que criar uma cópia para persistir no banco de dados.

Implementando a interface Cloneable e subscrevendo o método clone, não estou conseguindo persistir,

public Endereco clone() throws CloneNotSupportedException {

Endereco copia =(Endereco) super.clone();
  copia.cidade =  this.cidade.clone();
  return copia;

}

Caused by: java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing

cascade=CascadeType.ALL, também não funcionou.

2 Respostas

darlan_machado

Clonar o objeto não é a melhor solução. Quando você faz isso, acaba perdendo a referência do JPA.
A melhor abordagem é criar um novo objeto, preencher seus atributos e então tentar persistir.

M

entendi, achei que a melhor solução fosse o clone.

Criado 4 de julho de 2018
Ultima resposta 4 de jul. de 2018
Respostas 2
Participantes 2