Интересно, как полностью обновить таблицы отношений один-к-одному с помощью метода JPA save ().
Я пытался использовать дочернюю таблицу метода JPA save () для обновления некоторых данных в дочерние и родительские таблицы.
Тогда я ожидал обновления двух таблиц (дочерних и родительских).
Но были обновлены родительская таблица и вставлена дочерняя таблица.
// parent Entity
@Entity
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String content;
@OneToOne(mappedBy = "parent", cascade = CascadeType.ALL)
@JoinColumn(name = "parent_id")
private Children children;
}
// children Entity
public class Children {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullabel = false)
private String picture;
@OneToOne
private Parent parent;
}
// Parent Table
id | title | content
1 | "..."| "..."
// Children Table
id | picture | parent_id
1 | "..." | 1
// Service
childrenRepository.save(childrenEntity);
// Result
Updated Parent Tables;
-----------------------
id | title | content
1 | "updated!"| "updated!"
Inserted Children Tables;
-----------------------
id | picture | parent_id
1 | "..." | 1
2 | "inserted!" | 1 <---- This is not my purpose.
// The below's my purpose it.
Updated Children Tables;
-----------------------
id | picture | parent_id
1 | "updated!" | 1