Remove ManyToMany JPA

0 respostas
F

Boa tarde pessoal.

Estou trabalhando com JPA em um projeto, porem, me deparei com um problema.

Possuo um relacionamento N pra N, que em JPA se traduz em uma collection. Beleza.. ate ai tranquilo. Tanto que quando adiciono um novo objeto na collection, esse é persistido no banco.

Mas agora vem o inverso, estou querendo remover UM objeto da collection e salvar essa alteracao(remocao) no banco, mas o mesmo nao esta fazendo.

Andei lendo, aqui mesmo no forum, sobre o assunto, mas aparentemente sem solucao. Pelo o que eu entendi, o merge apenas compara o que eu tenho de objetos com o que eu tenho no banco, e caso eu tenha alguma alteracao ele faz um UPDATE, mas quando se remove um objeto, o TopLink nao consegue perceber essa diferenca e simplesmente ignora o que eu removi.

Sera que alguem tem uma saida pra isso? Lembrando, nao quero remover registros, apenas remover relacionamentos.

Abracos.
Felipe A. Lorenz

(EDIT) ai vai o codigo que tu usando:
@JoinTable(name = "hlpd_RecAgregado", joinColumns = {@JoinColumn(name = "cod_RecursoSec", referencedColumnName = "cod_Recurso")}, inverseJoinColumns = {@JoinColumn(name = "cod_RecursoPrinc", referencedColumnName = "cod_Recurso")})

@ManyToMany

private Collection<Recurso> codRecursoPrincCollection;

@ManyToMany(cascade = CascadeType.ALL, mappedBy = "codRecursoPrincCollection", fetch = FetchType.EAGER)

private Collection<Recurso> codRecursoSecCollection;
Criado 12 de dezembro de 2007
Respostas 0
Participantes 1