[JAVA] So löschen / aktualisieren Sie das Listenfeld von OneToMany

Problem

HdrEntity


@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "tMitsumoriHdrEntity")
    @JsonIgnore
    private List<DtlEntity> dtlEntity;

Annahme

Gegenmaßnahmen

1. Löschen Sie verwandte Entitäten nicht direkt

dtlRepository.delete(dtlEntity);

2. Setzen Sie orphanRemoveal auf true

//Detailtabelle
	@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true, fetch = FetchType.EAGER, mappedBy = "tMitsumoriHdrEntity")
	@JsonIgnore
    private List<DtlEntity> dtlEntity;

3. Umgang mit einer Sammlung mit cascade = "all-delete-orphan" wurde nicht mehr als Fehler bezeichnet

HdrEntity.setDtlEntity(saveDtlList);
HdRepository.save(HdrEntity);

--Wenn Sie Änderungen vornehmen, die die Anzahl der Elemente in der Liste ändern

A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance
HdrEntity.getDtlEntity().clear();
HdrEntity.getDtlEntity().addAll(saveDtlList);
HdRepository.save(HdrEntity);

Referenz

HibernateException - A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance
http://cristian.sulea.net/blog.php?p=2014-06-28-hibernate-exception-a-collection-with-cascade-all-delete-orphan-was-no-longer-referenced-by-the-owning-entity-instance


5.2. Datenbankzugriff (JPA Edition) 5.2.2.11. Implementierung des Löschprozesses für Entitäten https://terasolunaorg.github.io/guideline/public_review/ArchitectureInDetail/DataAccessJpa.html#id38


Ich habe nach JPA gesucht http://juzow.hatenablog.com/entry/20121017/1350480972

Recommended Posts

So löschen / aktualisieren Sie das Listenfeld von OneToMany
So sortieren Sie eine Liste von SelectItems
[Java] Löschen Sie die Elemente von List
So fügen Sie die Löschfunktion hinzu
So zeigen Sie das Auswahlfeld von time_select alle 30 Minuten an
[Rails] So zeigen Sie eine Liste der Beiträge nach Kategorie an
So bestimmen Sie die Anzahl der Parallelen
So finden Sie die Ursache des Ruby-Fehlers
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
Wie komme ich zum heutigen Tag?
[Für Anfänger] So implementieren Sie die Löschfunktion
So löschen Sie die Datenbank beim Neuerstellen der App
Ausgabe der Verwendung der Slice-Methode
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
[Java] So erhalten Sie die URL der Übergangsquelle
Wie schreibe ich Scala aus der Perspektive von Java
[Java] So erhalten Sie den Maximalwert von HashMap
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Rails] So erhalten Sie den Inhalt starker Parameter
So beurteilen Sie den Klick eines beliebigen Bildbereichs
So laden Sie eine ältere Version von Apache Tomcat herunter
[Swift] So erhalten Sie die Firebase-Dokument-ID
So löschen Sie Stücklisten (UTF-8)
So aktualisieren Sie mit activerecord-import
Das OneToMany-Löschen von JPA wird aktualisiert
So verbinden Sie die Zeichenfolgen in der Liste durch Kommas getrennt
Alle Inhalte der Listenseite löschen [Ruby on Rails]
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
So ändern Sie den Einstellwert von Springboot Hikari CP
[Ruby] So rufen Sie den Inhalt des Doppel-Hash ab
Hinzufügen von Elementen ohne Angabe der Länge des Arrays
So lösen Sie die Probleme, die durch die drei Blockierungswarteschlangen von Java verursacht werden
Wie man einige Methoden der zu testenden Klasse verspottet
So leiten Sie den letzten Tag des Monats in Java ab
So ändern Sie den Inhalt der JAR-Datei, ohne sie zu dekomprimieren
So überprüfen Sie die Erweiterung und Größe der hochgeladenen Dateien
[jsoup] So erhalten Sie die gesamte Dokumentation
Verwendung der link_to-Methode
[Swift] So ändern Sie dynamisch die Höhe der Symbolleiste auf der Tastatur
Verwendung der include? -Methode
Verwendung der Methode form_with
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
So finden Sie den durchschnittlichen Winkel
[Swift5] So erhalten Sie ein Array und eine Reihe von Unterschieden zwischen Arrays
So legen Sie die IP-Adresse und den Hostnamen von CentOS8 fest
Verwendung der Wrapper-Klasse
So zeigen Sie 0 auf der linken Seite des Standardeingabewerts an
Verwendung von setDefaultCloseOperation () von JFrame
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück