JPA - definiowanie relacji @ManyToMany

JPA - definiowanie relacji @ManyToMany
P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

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

Kopiuj
 
@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:

Kopiuj
  
    @JoinTable(name="ORDER_DETAIL", 
          joinColumns=      
            @JoinColumn(name="ORDER_ID", referencedColumnName="ORDER_ID"),
          inverseJoinColumns=  
            @JoinColumn(name="PROD_ID", referencedColumnName="PROD_ID")
       )
__krzysiek85
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1019
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.

P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Dzięki : )

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.