我有一个通过@RepositoryRestResource注释的存储库公开的实体,该存储库包含另一个实体(称为Seat)的集合(一对多),它不通过存储库公开。 我正在尝试使用http PUT发送表示整个实体(包括Seats集合)的json来更新公开的实体(称为Packet)。 我期待现有数据被替换,但是在PUT完成后,Seats集合包含一组额外的数据,即Spring将Seats添加到现有集合中,而不是替换它们。
我正在使用Spring Boot 1.4.0
@Entity
public class Packet extends BaseEntity {
@OneToMany(....CascadeType.ALL...)
public @Getter List<Seat> additionalSeats;
public void setAdditionalSeats(List<Seat> additionalSeats) {
this.additionalSeats = additionalSeats;
if (additionalSeats != null) {
for (Seat bs : additionalSeats) {
bs.setPacket(this);
}
}
}
}
@Entity
public class Seat extends BaseEntity {
private @Getter @Setter String price;
private @Getter @Setter String itemName;
private @Getter @Setter int count;
@ManyToOne
private @Getter @Setter Packet packet;
}
有没有办法替换嵌入式集合中的项目?