Typową tabelą dla jednego T1 do wielu T2 jest posiadanie obcego klucza na T2 skierowanego w stronę T1. Tabela T1_T2 zwykle nie jest potrzebna.
Struktura JPA byłaby wtedy One-To-Many, ewentualnie dwukierunkowa.
Może istnieć kilka ustaleń, aby struktura, którą opisujesz, działała. Można zmienić T1_T2:
- dodać wyjątkową presję na T2 (tak, że tylko jedna T2 jest dozwolone)
Czy naprawdę tego chcesz?
Zmieniano: tak, to jest to, co chcesz ;-)
wątpię można znaleźć wiele przykładów w sieci. Nie mam żadnego udowodnionego rozwiązania, ale spróbowałbym czegoś podobnego:
W Hibernate annotation reference documentation, patrz "2.2.5.3.2.3 Jednokierunkowy z tabelą łączenia", aby uzyskać pomysł. Wygląda to tak:
@Entity
public class Trainer {
@OneToMany
@JoinTable(
name="TrainedMonkeys",
joinColumns = @JoinColumn(name="trainer_id"),
inverseJoinColumns = @JoinColumn(name="monkey_id")
)
public Set<Monkey> getTrainedMonkeys() {
...
}
myślę, że można znaleźć to, czego szukasz w https://en.wikibooks.org/wiki/Java_Persistence/OneToMany#Example_of_a_OneToMany_using_a_JoinTable_database – Legna