Moin,
eine frage zum Verständnis.
Ich habe zwei Klassen User und Profil.
Ein User hat ein Profil und ein Profil gehört zu einem User, also eine bidirektionale Beziehung.
&
Aussage 1: Jetzt habe ich das so verstanden wenn ich in beiden Klassen einfach nur eine @OneToOne Annotation setze dann sind das zwei unidirektionale Beziehungen.
Aussage 2: Wenn ich das in der User Klasse ein mappedBy setze dann ist es eine bidirektionale Beziehung.
Frage 1: Habe ich das so richtig verstanden?
Wenn ich das mappadBy nicht schreibe und die Tabellen erstellt werden dann haben die Tabellen jeweils eine Spalte für die Id der anderen Entity.
Frage 2: Das würde ich auf Tabellen ebene als bidirektionale Beziehung verstehen! Würde aber meiner ersten aussage widersprechen?
Wenn ich jetzt das mappedBy schreibe wie im Beispiel dann hat die Tabelle User keine Spalte mehr für die Id des Profils aber die Tabelle Profil eine Spalte für die Id des Users.
Frage 3: Das wäre jetzt für ich eine unidirektionale Beziehung! Also was habe ich falsch verstanden wie ist es richtig?
Ich möchte eine bidirektionale Beziehung zwischen User und Profil, in den Java Klassen ist es ja einfach nur ein Object des anderen als Attribut aber ich bin immer davon ausgegangen das bei einer bidirektionalen Beziehung eine Id der anderen Entität in der Tabelle der anderen Entität vorkommen muss.
By
PsyPsy
eine frage zum Verständnis.
Ich habe zwei Klassen User und Profil.
Ein User hat ein Profil und ein Profil gehört zu einem User, also eine bidirektionale Beziehung.
Java:
@Entity
public class User {
@NotNull
@OneToOne(mappedBy = "user", fetch = FetchType.LAZY)
@JoinColumn(name = "profilId", nullable = false)
private Profil profil;
Java:
@Entity
public class Profil {
@NotNull
@OneToOne
@JoinColumn(name = "userId", nullable = false)
private User user;
Aussage 1: Jetzt habe ich das so verstanden wenn ich in beiden Klassen einfach nur eine @OneToOne Annotation setze dann sind das zwei unidirektionale Beziehungen.
Aussage 2: Wenn ich das in der User Klasse ein mappedBy setze dann ist es eine bidirektionale Beziehung.
Frage 1: Habe ich das so richtig verstanden?
Wenn ich das mappadBy nicht schreibe und die Tabellen erstellt werden dann haben die Tabellen jeweils eine Spalte für die Id der anderen Entity.
Frage 2: Das würde ich auf Tabellen ebene als bidirektionale Beziehung verstehen! Würde aber meiner ersten aussage widersprechen?
Wenn ich jetzt das mappedBy schreibe wie im Beispiel dann hat die Tabelle User keine Spalte mehr für die Id des Profils aber die Tabelle Profil eine Spalte für die Id des Users.
Frage 3: Das wäre jetzt für ich eine unidirektionale Beziehung! Also was habe ich falsch verstanden wie ist es richtig?
Ich möchte eine bidirektionale Beziehung zwischen User und Profil, in den Java Klassen ist es ja einfach nur ein Object des anderen als Attribut aber ich bin immer davon ausgegangen das bei einer bidirektionalen Beziehung eine Id der anderen Entität in der Tabelle der anderen Entität vorkommen muss.
By
PsyPsy