Problema JPA

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?

Pode ser só um erro de transcrição, mas no seu código eu não pude ver onde a sua transação começa.

A transação começa no metodo removerPorChave mesmo.
Putz, ainda não consegui resolver esse problema.
Pelo metodo flush percebi que não consigo mais ver a entidade do produto, pq ela já foi deletada.
Porém, se eu tiro esse metodo, dá erro na hora do commit (confirmar o delete). Fala que a transação não está ativa.
Alguém tem alguma sugestão para resolver esse problema?