Senhores tenho em minha base a seguinte estrutura:
@Entity
public class Magistrado extends Servidor
@Entity
public class Servidor extends Pessoa
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa
Utilizo de Hibernate e JPA.
Portanto eu JÀ tenho um objeto do tipo Servidor e estou querendo torna-lo agora Magistrado.
Explicando melhor, recuperei do banco um objeto Servidor e agora quero transforma em Magistrado.
Estou tentando persistir assim:
getMagistrado().setId(servidor.getId());
getMagistrado().setExcluido(false);
getMagistrado().setSubstitutosMagistrado(null);
facade.adicionarMagistrado(getMagistrado());
Só que infelizmente não consigo pois da a exeção abaixo.
Sei previamente que o erro vem pois não posso setar um Id em um objeto novo pois utilizo de uma sequience…
... 101 more
Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: br.jus.tjpb.ejus2.entidades.Magistrado
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:102)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:645)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)
… 103 more