@ManyToMany não exclui os dados no JPA [RESOLVIDO]

6 respostas
andre_guitar7

Galera, bom dia!

Estou fazendo um relacionamento ManyToMany no JPA. Consigo adicionar dados à lista fazendo a associação objetos -> <- objetos, mas não consigo excluir.

Estou seguindo algo parecido com exemplo 3 desse link http://download.oracle.com/javaee/5/api/javax/persistence/ManyToMany.html

@ManyToMany
    @JoinTable(name="objeto1_objeto2",
        joinColumns=@JoinColumn(name="OBJETO1_ID"),
        inverseJoinColumns=@JoinColumn(name="OBJETO2_ID"))
    public List<Objeto2> getObjetos2() { return objetos2; }

    @ManyToMany(mappedBy="objetos2")
    public List<Objeto1> getObjetos1() { return objetos1; }
Quando eu associo um ao outro usando:
objeto1.getObjetos2().add(objeto1); objeto2.getObjetos1.add(objeto2); entityManager.merge(objeto1);
Ele persiste e faz a associação nas tabelas.

Mas não consigo excluir a associação. Faço o for:

for (...) { if (objeto1.getObjetos2(i).getId() == objeto2.getId()){objeto1.getObjetos2(i).remove(objeto2)}} entitymanager.merge(objeto1);
Mas ele não remove a associação.

Alguém pode me passar um exemplo de como excluo a associação entre objetos ManyToMany? Só to conseguindo persistir.

Obrogado!

6 Respostas

maior_abandonado

testa ae http://www.guj.com.br/prepost/237491/1223932/probl…-de-classes-n-pra-n-usando-jpa

andre_guitar7

Opa, value pelo link.

Só que minha questão é um pouco mais específica. Estou conseguindo incluir registro, só não consigo excluir.

andre_guitar7

Alguém tem algum exemplo pra me passar? Como vcs excluem um objeto de uma lista, sendo manytomany?

Kanin_Dragon

Jovem,

Coloque o cascade

@ManyToMany(cascade = CascadeType.ALL)

abs,

andre_guitar7

Deu certo quando eu tiro da lista dos dois objetos e persisto os dois objetos.

Trabalheira.

Kanin_Dragon

Jovem,

Coloque como [RESOLVIDO]

abs,

Criado 10 de maio de 2011
Ultima resposta 10 de mai. de 2011
Respostas 6
Participantes 3