mam następujące dwie tabele w mojej bazy danych:Hibernate: wstawić dane z klucz obcy
Kalendarz (id, nazwa, user_id)
użytkownika (id, nazwa, ...)
Każdy kalendarz jest własnością jednego użytkownika, każdy użytkownik może mieć wiele kalendarzy. Stąd istnieje relacja wiele do jednego z Kalendarza do Użytkownika. Teraz chciałbym wstawić zestaw danych na moim stole Kalendarz Mój Kalendarz Podmiot wygląda następująco:
@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;
...
}
Jednak kiedy jestem włożeniu zestawu danych, wiem id właściciela, ale don nie ma odpowiedniego obiektu User
. Czy muszę pobrać obiekt User
, ustawić dla niego owner
, a następnie wstawić zestaw danych?
To brzmi dla mnie niewygodnie, czy istnieje sposób na wstawienie zestawu danych przy użyciu identyfikatora User
, który byłby przechowywany w bazie danych, w przeciwieństwie do obiektu User
?
Możliwy duplikat [Hibernacja - jak zaoszczędzić rodzica z dzieckiem jednorodzinnym] (http: // stackoverflow .com/questions/32130703/hibernate-how-to-save-parent-with-detached-child) –