Ich erhalte folgenden Fehler, wenn ich das Objekt mit Hibernate speichere
object references an unsaved transient instance - save the transient instance before flushing
Ich erhalte folgenden Fehler, wenn ich das Objekt mit Hibernate speichere
object references an unsaved transient instance - save the transient instance before flushing
Ich war auch in der gleichen Situation. Durch die Einstellung folgende Anmerkung über die Eigenschaft machte es lösen die Ausnahme aufgefordert.
Die Ausnahme, mit der ich konfrontiert war.
Exception in thread "main" java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.model.Car_OneToMany
Um dies zu überwinden, habe ich die Anmerkung verwendet.
@OneToMany(cascade = {CascadeType.ALL})
@Column(name = "ListOfCarsDrivenByDriver")
private List<Car_OneToMany> listOfCarsBeingDriven = new ArrayList<Car_OneToMany>();
Warum hat Hibernate die Ausnahme ausgelöst?
Diese Ausnahme wird in Ihrer Konsole ausgelöst, weil das untergeordnete Objekt, das ich dem übergeordneten Objekt zuordne, zu diesem Zeitpunkt nicht in der Datenbank vorhanden ist.
Durch die Bereitstellung @OneToMany(cascade = {CascadeType.ALL})
wird Hibernate angewiesen, sie in der Datenbank zu speichern, während das übergeordnete Objekt gespeichert wird.
Der Vollständigkeit halber: A
org.hibernate.TransientPropertyValueException
mit Nachricht
object references an unsaved transient instance - save the transient instance before flushing
tritt auch auf, wenn Sie versuchen, eine Entität mit einem Verweis auf eine andere Entität, die zufällig freistehend .
Nach der Einführung des optimistischen Sperrens (@Version) trat bei allen PUT-HTTP-Transaktionen derselbe Fehler auf
Zum Zeitpunkt der Aktualisierung einer Entität ist es zwingend erforderlich, id und Version dieser Entität zu senden. Wenn eines der Entitätsfelder mit anderen Entitäten in Verbindung steht, dann sollten wir für dieses Feld auch id- und Versionswerte bereitstellen, da die JPA sonst versucht, diese verbundene Entität zunächst als neue Entität zu erhalten.
Beispiel : wir haben zwei Entitäten --> Fahrzeug (id,Auto,Version) ; Auto (id, version, brand); um die Fahrzeug-Entität zu aktualisieren/bestehen zu lassen, stellen Sie sicher, dass das Feld Car in der Fahrzeug-Entität die Felder id und version enthält
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.