JPA - definiowanie relacji @ManyToMany

JPA - definiowanie relacji @ManyToMany
P1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 12 lat
  • 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")
       )
edytowany 1x, ostatnio: Pierce111
__krzysiek85
  • Rejestracja:ponad 18 lat
  • Ostatnio:ponad 9 lat
  • 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.


Registered Linux user #456405 | SCJP 6 | SCWCD 5 | SCBCD 5
P1
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 12 lat
  • 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.