Encja dla relacji

0

Hej,

Pierwszy raz się spotkałem z czymś takim, że jest tworzona dodatkowa encja dla relacji z tabelką złączeniową. I dla tej tabelki jest dodatkowa encja:

@Entity
class A {

@ManyToMany
List<B> b;
}

class B {
@ManyToMany
List<A> a;
}

@Entity
class ArelB {

idA;
idB;
}

Czy ktoś mi może podpowiedzieć po co się stosuje coś takiego i czy to jest dobra praktyka?

/xLatency

0

W przypadku relacji wiele do wiele nie obędzie się bez dodatkowej tabeli.

https://en.wikibooks.org/wiki/Java_Persistence/ManyToMany

0

Dzięki,

Ale czy konieczne jest definiowanie z tej relacji dodatkowej Encji? Wydawało mi się że takie mapowanie robi się tylko jak chce się dodać dodatkowe pole do tabelki złączeniowej. Czy może się mylę ?

/x

0

Twoje pytanie wynika wyłącznie z tego, że nie rozumiesz na czym polega ten typ relacji.

Zastanów się nad takim przykładem: masz w bazie tabelę zamówień oraz tabelę produktów. Produkt może występować w wielu zamówieniach, zamówienie może się składać z wielu produktów. W jaki inny sposób chciałbyś to zapisać bez korzystania z dodatkowej tabeli?

0

Google -> associative entity, junction table

0

Hej, napisałem odpowiedź w komentarzu, ale jeszcze tutaj ponowię. Bo nie wiem czy się dobrze rozumiemy.
Wiem że trzeba zrobić dodatkową tabelkę łączącą. Ale moje pytanie jest bardzie o to czy tą dodatkową tabelkę powinniśmy mapować do encji JPA? Wydawało mi się że takie mapowanie jest konieczne tylko gdy się dodaje do takiej relacji dodatkowe pola. Nie wiem czy rozumiecie o co mi chodzi.

dzięki

0

Chodzi o to czy trzeba ją jawnie deklarować? Nie.

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