Ich bin mit ein paar Zweifel in jpa. Zum Beispiel eine Tabelle Post und eine Tabelle Dateien. Einem Post können viele Dateien zugeordnet sein, und einem Post ist eine Datei zugeordnet, sodass wir eine Eins-zu-viele-Beziehung haben.Karte immer beide Richtungen in einer zu vielen Beziehung
Ich weiß nicht genau, ob wir eine OneToMany-Beziehung oder ManyToOne oder beides erstellen sollen. Zum Beispiel in Post und Dateien Beispiel, was wir fragen müssen, ob seine unidirektionale oder bidirektionale ist, wenn wir wissen wollen, was sind die Dateien, die ein Beitrag haben und auch welche Dateien in einem Beitrag sind, oder? Und wenn es beides ist, ist es eine bidirektionale Beziehung, oder? Aber diese beiden Fragen scheinen sehr ähnlich zu sein, also ist die Antwort normal, ja. Also ist es nicht eine gute Übung Karte immer beide Richtungen?
Beispiel, Mapping immer beide Richtungen:
@Entity
public class Post{
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@OneToMany(mappedBy="post")
private List<Files> files= new ArrayList<>();
}
@Entity
public class File{
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne
@JoinColumn(name="post_id")
private Post post;
}
Danke für Ihre Antwort. Angenommen, Ihr erstes Beispiel, wenn ein Benutzer einige Dateien nur durch einen Post erreichen kann, ist es unidirecitonal. Aber in diesem Fall ist OneToMany oder ManyToOne? Weißt du, wie man das überprüft? – Ozzy
@Ozzy Im Falle einer unidirektionalen - Sie haben ein Listenfeld von Dateien in der Post und Sie müssen die Zuordnung in der Post und natürlich OneToMany Mapping tun – Ubercool