Como impedir o Hibernate de excluir objetos filho não presentes em uma postagem JSON?

Eu tenho um JPAProperty entidade que tem filhos (váriosRatee múltiplosReservation's). No meu aplicativo JavaScript, eu puxoJSON através daREST {property:{rates:[...], reservations[...]}. As tarifas e as reservas são muito detalhadas, portanto, quando eu publico uma atualização de propriedade (como alterar o nome), excluo as tarifas e reservas doJSON POST carga útil. Eu esperava que o Hibernate simplesmente ignorasse as chaves ausentes, mas, infelizmente, está removendo todos os filhos que estavam salvos. Como especifico para o Hibernate ignorá-los se eles não estiverem lá?

@Entity
public class Property {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    String name;

    @OneToMany(mappedBy = "property", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true)
    @JsonManagedReference
    private Set<SeasonRate> rates = new HashSet<>();

    @OneToMany(mappedBy = "property", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true)
    private Set<Reservation> reservations = new HashSet<>();

}

Ps: Meu entendimento de cascatas é limitado, mas eu realmente quero a funcionalidade de que, se alguém excluir uma propriedade, ela deverá excluir as tarifas e reservas. Em nenhum lugar atualizo tarifas ou reservas por meio de um salvamento completo da propriedade. Talvez eu deva apenas usar CASCADE = UPDATE? As tarifas têm seu próprio mecanismo de atualização e as reservas também.

questionAnswers(1)

yourAnswerToTheQuestion