Eine Many-To-Many-Beziehung wird über die JPA-Annotation @ManyToMany realisiert.
Auf beiden Seiten liegt eine Collection vor mit einer solchen Annotation, wobei eine Seite dabei wieder den Eigentümer/Verwalter der Beziehung innehaben muss - mappedBy:
@Entity 
public class A {
@Id 
  private Long id; 
  ...
  @ManyToMany 
  private List<B> colBs;
}
@Entity 
public class B {
  @Id
  private Long id;
  ...
  @ManyToMany(mappedBy="colBs") 
  List<A> colAs;
}
Somit ist Entity A Besitzer der n-m-Beziehung.
Eine n-m-Beziehung wird immer in einer separaten dedizierten Tabelle gespeichert:
Der Name ist zusammengesetzt: Entity-Name des Besitzers der Beziehung + _ + Entity-Name der anderen Seite.
In diesem Beispiel: A_B.
Die Foreignkeyspalten für die Herstellung der Beziehung im Default wird nach folgendem Muster erzeugt: 
Attributname der referenzierten Seite + _ + PK-Name.
In diesem Beispiel: colbs_id bzw. colas_id
"Somit ist Entity B Besitzer der n-m-Beziehung."
AntwortenLöschenSicher? Ich denke A ist Besitzer.
"Der Name ist zusammengesetzt: Entity-Name des Besitzers der Beziehung + _ + Entity-Name der anderen Seite.
In diesem Beispiel: A_B."
Eben :-)
Korrekt...
AntwortenLöschen