Erhalte vollständige Envers-Revisionen, bei denen ein bestimmtes Objekt betroffen ist

8

Die Art und Weise, in der die Revisionsdaten für jedes Objekt gespeichert werden, das von einer Revision betroffen ist, erhält einen separaten Datensatz in der Tabelle _AUD . Wenn ich also nach Revisionen suche, die sich auf das Objekt A auswirken, bekomme ich den Eintrag mit der Versionsnummer 3 für das Objekt B zurück, aber wenn die Objekte A und / oder C ebenfalls in der Revision geändert wurden 3 Diese Einträge werden nicht zurückgegeben, wodurch der Eindruck entsteht, dass B das einzige in dieser Revision geänderte Objekt ist. Was ich versuche, ist für jede Revision, die sich auf das Objekt B auswirkt, alle von dieser Revision betroffenen Objekte zurückzugeben.

%Vor%

Ich habe dies versucht, indem ich eine erste Abfrage durchgeführt habe, um die relevanten Revisionen zu finden:

%Vor%

und dann die folgende Abfrage für jedes Ergebnis ausführen:

%Vor%

aber dies ergibt ein QuerySyntaxException :

  

Doppelte Definition des Alias ​​'r' [wähle e, r, r aus   models.AgentShift_AUD e, Modelle.RevisionData r, models.RevisionData r   wo e.originalId.REV.id in (: _p0) und e.originalId.REV.id = r.id und   e.originalId.REV.id in (: _p1) und e.originalId.REV.id = r.id order by   e.originalId.REV.id asc, e.originalId.REV.id asc]

Ich habe verschiedene Varianten davon ausprobiert, die alle zur selben "Doppeldefinition von Alias ​​'r'" geführt haben. Gibt es noch etwas, das ich ausprobieren kann?

    
Brad Mace 04.08.2011, 17:45
quelle

1 Antwort

0

Das ist, was ich bisher herausgefunden habe. Es ist nicht die sauberste Lösung, aber es funktioniert:

%Vor%

Hoffentlich wird jemand einen besseren Weg finden, besonders einen, der es in einer einzigen Abfrage machen kann.

    
Brad Mace 11.08.2011 21:54
quelle

Tags und Links