Ich habe meine JPA-Ereignisse (postUpdate) verarbeitet und sie werden korrekt ausgelöst, wenn ich eine Eigenschaft für meine Entität aktualisiere, mit Ausnahme der als @ElementCollection zugeordneten Objekte.
Ist das eine Einschränkung? Eine Konfigurationsoption?
Hier ist ein Teil meiner Entität
%Vor%Mit anderen Worten, wenn ich "title" ändere, wird die Änderung von meinem Listener erfasst, aber das gleiche passiert NICHT, wenn ich "Ziele" ändere
Ich benutze JPA mit Hibernate (4.0) als Provider durch Spring (3.1)
Danke
Schließlich beenden wir das Lösen des Hinzufügens von optimistischem Locking @Version
, das bewirkt, dass Hibernate in die Hauptparententabelle schreibt und unsere Listener aufgerufen werden.
Auf jeden Fall funktioniert das immer noch nicht so, wie es funktionieren soll, aber unter dem Strich tut es nicht weh, das optimistische Locking an Ort und Stelle zu haben.
Danke
Auf der Besitzerseite (Pck-Tabelle) wird keine Aktualisierung vorgenommen, was aktualisiert wird, ist die Tabelle, die die Sammlungsdaten (PckDest) enthält.
Ich denke sogar, dass das Ändern des Inhalts der Sammlung als Aktualisierung angesehen werden könnte, da es oft als Lösch- und Einfügevorgang implementiert werden kann und wird.
Ich denke, Sie müssen mit einem solchen Verhalten außerhalb des Entity-Management-Lebenszyklus umgehen oder eine Art Feld innerhalb der Owner-Entity haben, die bei einer Listenänderung aktualisiert wird (wie eine Art Checksumme), so dass Sie die Liste ändern auch der Elternteil muss aktualisiert werden (obwohl ich nicht weiß, ob das so eine gute Idee ist).
Vielleicht hilft Ihnen dieser Link:
eventlisteners mit Hibernate 4.0 mit Feder 3.1 .0.release?
Sieht so aus, als würde sich Hibernate 4 ändern und EntityListeners registrieren.