Hibernate 3 + JPA 2 + "orphanRemoval = true" não funciona

2 respostas
adrianostanley

Olá a todos,

estou mapeando uma lista em minha entidade da seguinte forma:

@OneToMany(targetEntity = Questao.class, cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = “prova”)
private List<Questao> questoes;

E minha classe Questao contem:

@ManyToOne

@JoinColumn(name = prova)

private Prova prova;

Todas as ações na Prova são propagadas em cascata para as questões, exceto o “delete-orphan” que não exclui uma questão orfã do banco.

Para excluí-las estou fazendo da forma correta: “questoes.remove(q)” e chamando saveOrUpdate na Prova.

Já vi dezenas de tópicos aqui no GUJ com esse mesmo problema mas nenhuma solução funcionou pra mim. Alguém sabe onde estou errando?

Obrigado!

2 Respostas

altitdb

Adriano,

eu utilizo o “merge” no lugar de saveOrUpdate e funciona normalmente.

Já chegou a testar com o merge?

xD~~

adrianostanley

Resolvido o problema!!

Faltou um session.flush() depois de tudo antes de verificar se o orfão tinha sido removido!

Obrigado, pessoal!!

Criado 30 de julho de 2011
Ultima resposta 1 de ago. de 2011
Respostas 2
Participantes 2