Ich habe die folgenden zwei Tabellen in meiner Datenbank:Hibernate: Einfügen von Daten mit Fremdschlüssel
Kalender (id, name, user_id)
Benutzer (ID, Name, ...)
Jeder Kalender gehört einem Benutzer, jeder Benutzer kann mehrere Kalender haben. Daher gibt es eine Viele-zu-Eins-Beziehung von Kalender zu Benutzer. Nun würde Ich mag eine Reihe von Daten in meinen Kalender-Tabelle einzufügen, sieht mein Kalender Entity wie folgt aus:
@Entity
@Table(name = "calendar")
public class Calendar {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "id", columnDefinition = "BINARY(16)")
private UUID id;
@Column(name = "name")
private String name;
@ManyToOne
@JoinColumn(name = "owner", referencedColumnName = "id")
private User owner;
...
}
Allerdings, wenn ich den Datensatz bin Einfügen, ich weiß, die ID des Besitzers, aber ich don habe das entsprechende User
Objekt nicht. Muss ich das Objekt User
abrufen, owner
darauf setzen und dann den Datensatz einfügen?
Das klingt ein wenig unbequem für mich, gibt es eine Möglichkeit, den Datensatz mit der User
ID einfügen, wie es in der Datenbank gespeichert wäre, im Gegensatz zu einem User
Objekt verwenden?
Mögliche Duplikat [Hibernate - wie mit abgesetzter Kind zu retten parent] (http: // Stackoverflow .com/questions/32130703/hibernate-wie-zu-speichern-parent-with-detached-child) –