Wie verhindere ich, dass Hibernate untergeordnete Objekte löscht, die in einem JSON-Beitrag nicht vorhanden sind?

Ich habe ein JPAProperty Entität mit untergeordneten Elementen (mehrereRate und mehrereReservation s). In meiner JavaScript-Anwendung ziehe ichJSON viaREST {property:{rates:[...], reservations[...]}. Preise und Reservierungen sind sehr ausführlich. Wenn ich also eine Immobilienaktualisierung veröffentliche (wie das Ändern des Namens), lösche ich die Preise und Reservierungen aus demJSON POST Nutzlast. Ich hoffte, dass Hibernate die fehlenden Schlüssel einfach ignorieren würde, aber leider werden alle Kinder entfernt, wenn sie sicher sind. Wie lege ich den Ruhezustand fest, um sie zu ignorieren, wenn sie nicht vorhanden sind?

@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: Mein Verständnis von Kaskaden ist begrenzt, aber ich möchte tatsächlich die Funktionalität, dass, wenn jemand eine Eigenschaft löscht, die Preise und Reservierungen gelöscht werden müssen. Nirgendwo aktualisiere ich Raten oder Reservierungen über einen vollständigen Eigentumsspeicher, also sollte ich vielleicht einfach CASCADE = UPDATE verwenden? Preise haben ihren eigenen Aktualisierungsmechanismus und Reservierungen auch.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage