JPA - definiowanie relacji @ManyToMany

0

Widziałem przykład zdefiniowanej relacji ManyToMany dwóch klas encji między sobą

 
@Entity public class Customer {
...
@ManyToMany
public Set<PhoneNumber> getPhones() {
return phones;
}
...
}

@Entity public class PhoneNumber {
...
@ManyToMany(mappedBy="phones")
public Set<Customer> getCustomers() {
return customers;
}
...
}

Powyższy kod w ogóle nie zawiera odniesień do tabeli pośredniej, która dla takiej relacji musi wystąpić w bazie danych. Czy ten powyższy, uproszczony zapis jest poprawny?
Wcześniej wydawało mi się że w takiej relacji musi wystąpić odniesienie do tabeli pośredniej w celu określenia Foreign Keys czyli adnotacj @JoinTable.
Poniższy przykład adnotacji alezy do innego przykładu:

  
    @JoinTable(name="ORDER_DETAIL", 
          joinColumns=      
            @JoinColumn(name="ORDER_ID", referencedColumnName="ORDER_ID"),
          inverseJoinColumns=  
            @JoinColumn(name="PROD_ID", referencedColumnName="PROD_ID")
       )
0

http://docs.oracle.com/javaee/6/api/javax/persistence/JoinTable.html

If the JoinTable annotation is missing, the default values of the annotation elements apply. The name of the join table is assumed to be the table names of the associated primary tables concatenated together (owning side first) using an underscore.

0

Dzięki : )

1 użytkowników online, w tym zalogowanych: 0, gości: 1