【发布时间】:2021-06-25 09:56:44
【问题描述】:
如题,在执行更新操作时,前一个子级丢失了对父级的引用。
父方
@OneToMany(cascade =CascadeType.ALL)
@JoinColumn(name = "individual_id")
private List<ContactMedium> contactMedium;
儿童方面
@Entity
@Table(name = "contactMedium")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ContactMedium
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id ;
@ManyToOne
private Individual individual;
补丁操作
public Individual patch(Individual individual, Long id) {
Individual objectToSave = individual;
objectToSave.setId(id);
return individualRepository.save(objectToSave);
}
更新时,先前的属性会丢失对子项的引用。我怎样才能防止这种情况发生?
【问题讨论】:
-
可能是 fetch = FetchType.LAZY 的问题?
-
为什么在更新parent时需要更新id?
-
我不想更新 id,我只需要两个对我个人 id 的引用
-
“前一个孩子”是什么意思?进行更新时,列表中是否缺少“上一个孩子”?
标签: java hibernate spring-data-jpa hibernate-mapping cascade