Spring Data REST持久性MySQL一对多嵌入式对象更新(PUT / PATCH)

时间:2015-10-21 07:33:52

标签: mysql spring spring-data spring-data-rest

我有两个类:Object和ObjectProperty,它们作为一对多关系连接。所以Object有一些ObjectParameters的HashSet。

public Set<SOPParameter> parameters = new HashSet<>();

Spring Data REST完美地执行POST,但是在PUT用于替换或PATCH用于更新具有特定id的对象的情况下,参数根本不受影响。 有什么方法可以解决它?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题: 首先,注释orphanRemoval必须设置为true

@OneToMany(cascade = {CascadeType.ALL,CascadeType.PERSIST,CascadeType.MERGE}, mappedBy = "sop", orphanRemoval=true) public Set<SOPParameter> parameters = new HashSet<>();

其次,必须说明setParameters的处理程序:

public void setParameters(HashSet<SOPParameter> set) { if (set != null) { this.parameters.clear(); this.parameters.addAll(set); } }