JPA - ManyToMany, não funciona, help-me?[Resolvido]

Bom dia senhores!

nao to conseguindo usar o manytomany

Viagens v = new Viagens();
        String msg = "";
        v.setDatacomeco(viagensDataIni.getDate());
        v.setDatafim(viagensDataFim.getDate());
        v.setLocal(viagensLocal.getText());
        v.setObs(viagensObs.getText());
        v.setUfsIdufs(new Ufs(viagensUf.getSelectedIndex()+1));
        
        List<Aferidor> li = (List<Aferidor>) new ControlListAferidor().seachtoObj(jListAferidores);
        
        v.setAferidorIdaferidorCollection(li);

eu mando ele fazer um merge do obgeto acima!
mas ele so altera a tabela viagem!
a tabela de relacionamento entre viagem e averidor
nada eh modificado!

o que eu faço?

obrigado

Dá uma olhada no atributo cascade da anotação @ManyToMany.

esta assim:

@ManyToMany(mappedBy = "viagensIdviagensCollection")
    private Collection<Aferidor> aferidorIdaferidorCollection;

o que devo fazer ?

Defines a many-valued association with many-to-many multiplicity. If the Collection is defined using generics to specify the element type, the associated target entity class does not need to be specified; otherwise it must be specified.
Every many-to-many association has two sides, the owning side and the non-owning, or inverse, side. The join table is specified on the owning side. If the association is bidirectional, either side may be designated as the owning side.

The same annotation elements for the OneToMany annotation apply to the ManyToMany annotation.

Example 1:

In Customer class:

@ManyToMany
@JoinTable(name="CUST_PHONES")
public Set getPhones() { return phones; }

In PhoneNumber class:

@ManyToMany(mappedBy="phones")
public Set getCustomers() { return customers; }

Example 2:

In Customer class:

@ManyToMany(targetEntity=com.acme.PhoneNumber.class)
public Set getPhones() { return phones; }

In PhoneNumber class:

@ManyToMany(targetEntity=com.acme.Customer.class, mappedBy="phones")
public Set getCustomers() { return customers; }

Example 3:

In Customer class:

@ManyToMany
@JoinTable(name="CUST_PHONE",
    joinColumns=
        @JoinColumn(name="CUST_ID", referencedColumnName="ID"),
    inverseJoinColumns=
        @JoinColumn(name="PHONE_ID", referencedColumnName="ID")
    )
public Set getPhones() { return phones; }

In PhoneNumberClass:

@ManyToMany(mappedBy="phones")
public Set getCustomers() { return customers; }

Since:
Java Persistence 1.0

Documentação da JPA de @ManytoMany, eles tem exemplos e tals, é bem legal.

Seta o atributo cascade para algum desses tipos descritos aqui, de acordo com a sua necessidade.

ok?

Att;

[quote=nbluis]
Seta o atributo cascade para algum desses tipos descritos aqui, de acordo com a sua necessidade.

ok?

Att;[/quote]
Desconsidere… isso é pra cascade… teu caso é outro…

ferrou entao… qual eh o meu caso ??? ^^

lol

Obrigado

É o exemplo que o amigo due acima…
@JoinTable.

Att;

Eu realmente ainda nao entendi como fazer!

estou usando o netBeans para gerar minhas classes de persistencia!
tudo funciona mt bem, menos o ManyToMany.

bem eu tenho a seguinte situação:

|Viagens| 1---------N |viaafer| N-------1 |aferidor|

o netbeans nao mapeou a tabela viaafer
somente viagens e aferidor,

o que devo fazer ?

obrigado
desculpe minha ignorancia

opa blz consegui resolver,
se nao fosse vcs nao teria conseguido!
muito obrigado!!!

|Viagens| 1---------N |viaafer| N-------1 |aferidor|

o netbeans faz o jointable

no obj aferidor!
eu tirei e coloquei em viagens ! ai funcionou !
show de bola !!!
perfeito e redondinhu !!!

mt obrigado !!!