2 Stimmen

Aktualisieren der Entity-Instanz nach Verwendung von merge in Hibernate?

Ich verwende die Hibernate Merge-Methode, um mit einem gelösten Objekt aus der Entität umzugehen, und ich dachte, dass die Rückgabe dieser Methode eine neu abgerufene Instanz aus der Datenbank sein würde, wie es bei der Hibernate saveOrUpdate-Methode der Fall ist, aber das war nicht der Fall. Ich denke, das ist logisch, da es sich um ein gelöstes Objekt handelt. Gibt es einen besseren Weg, um die neue Instanz zurückzugeben, als findById zu verwenden?

Mit freundlichen Grüßen,

3voto

Pascal Thivent Punkte 548176

Die merge Methode kopiert den Zustand des übergebenen Objekts in eine persistente Entität mit derselben Kennung (die entweder bereits mit der Sitzung verbunden ist oder geladen wird) und gibt dann eine Referenz auf diese persistente Entität zurück. Das als Parameter übergebene Objekt ist nicht an die Sitzung angehängt.

Also, wenn ich die Frage richtig verstanden habe, denke ich, dass du so etwas machen solltest:

Foo mergedFoo = session.merge(foo);

CodeJaeger.com

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.

Powered by:

X