Galera, não estou conseguindo deletar um produto que possui vários relacionamentos.
Pra deletar todos os registros do produto nas outras tabelas coloquei um cascade:
@Entity
@Table(name = "TBL_PRD_INFO")
public class ProdutoInfo implements Serializable {
private static final long serialVersionUID = 1L;
@OneToMany(mappedBy = "produtoInfo", cascade = { CascadeType.ALL })
private List<ConversaoInfo> conversaoInfoList;
@OneToMany(mappedBy = "produtoInfo", cascade = { CascadeType.ALL })
private List<Edicao> edicaoList;
@OneToMany(mappedBy = "produtoInfo", cascade = { CascadeType.ALL })
private List<Midia> midiaList;
Meu código está assim:[code]
public void removerPorChave(Class objeto, Integer chave) {
EntityManager em = getEntityManager();
try {
Object x = getEntity(objeto, chave);
Object y = em.merge(x);
em.remove(y);
em.flush();
em.getTransaction().commit();
em.flush();
} catch (RuntimeException e) {
em.getTransaction().rollback();
throw e;
} finally {
em.close();
}
}[/code]
E está me dando esse erro:
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [br.com.syncrobot.repositoriodigital.entity.ProdutoInfo#<null>]
Alguém poderia me ajudar a resolver esse problema?