Heim > Java > javaLernprogramm > Wie kann der Hibernate-Fehler „Object References Unsaved Transient Instance' behoben werden?

Wie kann der Hibernate-Fehler „Object References Unsaved Transient Instance' behoben werden?

Barbara Streisand
Freigeben: 2024-12-18 01:36:13
Original
786 Leute haben es durchsucht

How to Resolve Hibernate's

Hibernate-Fehler „Object References Unsaved Transient Instance“ beheben

Beim Versuch, ein Objekt mit Hibernate zu speichern, kann der folgende Fehler auftreten:

object references an unsaved transient instance - save the transient instance before flushing
Nach dem Login kopieren

Den Fehler verstehen

Dieser Fehler zeigt an, dass Ihre Entität eine Sammlung enthält, die ein oder mehrere Elemente enthält, die nicht in der Datenbank vorhanden sind. Der Ruhezustand erfordert, dass alle Entitäten, auf die andere Entitäten verweisen, entweder in der Datenbank gespeichert (permanent) oder als vorübergehend markiert werden.

Lösung

Die Lösung für diesen Fehler besteht darin, Folgendes anzugeben die Kaskadenoption für Ihre Sammlungszuordnung. Sie können dies entweder mithilfe von XML oder Anmerkungen tun:

XML:

<collection name="collectionName" cascade="all">
    ...
</collection>
Nach dem Login kopieren

Anmerkungen:

@OneToMany(cascade = CascadeType.ALL)
private List<ChildEntity> collectionName;
Nach dem Login kopieren

Erklärung

Durch die Angabe von cascade="all" bzw Mit der Option CascadeType.ALL weisen Sie Hibernate an, beim Speichern der übergeordneten Entität alle Entitäten in der Sammlung in der Datenbank zu speichern. Dadurch wird sichergestellt, dass alle referenzierten Entitäten in der Datenbank bestehen bleiben und der Fehler behoben wird.

Das obige ist der detaillierte Inhalt vonWie kann der Hibernate-Fehler „Object References Unsaved Transient Instance' behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage