entityManager persist merge

inspector_71

Mitglied
Hi Leute!

Also, wenn ich das richtig verstanden habe, dann wird nach einer Unit-of-Work der PersistenceContext mit der Datenbank synchronisiert. Arbeite mit JPA und überlasse die Transaktionssteuerung dem JBoss.

Dazu habe ich eine Frage:
Falls eine Entity verändert wurde, dann wird sie als dirty gekennzeichnet, richtig? Und nur dann wird sie auf die Datenbank zurückgespeichert, ansonsten nicht, stimmt das?

Ist dem auch so wenn ich zum Beispiel manager.merge(User user) aufrufe. Wird da nachgesehen ob die Entity durch die Applikation verändert wurde? Falls dem so ist, keine Änderungen durchgeführt wurden und das Update nicht durchgeführt wird, wie kann ich das abfangen um eine Nachricht auszugeben das keine Änderungen durchgeführt wurden? Bei der Änderunge eines Namens der Users zum Beispiel, bisher hab ich das immer im Vorfeld schon abgefragt, wenn der neue Name gleich dem Alten ist und so weiter...

Vielen Dank,
John
 
Hallo,

du könntest einen entsprechenden Interceptor definieren welcher das Persist/ Merge abfängt und auf Modifications / Dirty Status checked.

Gruß Tom
 

Neue Beiträge

Zurück