我有两个实体:
public class Box{
private Long id;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
public Long getId() {
return id;
}
private Integer orderNumber;
@Column(name = "ORDER_NO")
public Integer getOrderNumber() {
return orderNumber;
}
private Set<Cell> cells;
@OneToMany(cascade = {CascadeType.ALL}, orphanRemoval = false, mappedBy = "dashboardBox", fetch=FetchType.LAZY)
@JsonManagedReference
public Set<DashboardCell> getCells() {
return cells;
}
}
这种关系是双向的。例如,我有一个id = 3的box,orderNumber = 5和4个Cell存储在数据库中。在webservice期间,我得到了id = 3,orderNumber = 7且没有单元格的框 - 它是一个用例。现在我想只更新BOX,而不删除子项。有可能吗?怎么样?这就像我想只更新实体级别而不触及任何子项(关联) - 即使我有collection = null。在我使用session.merge(box);
的情况下,我删除了单元格,但我想保留它们。