2016-05-02 17 views
0

In SVN-Dateien mit den gleichen Revisionen, die zusammen committed können klare Bedeutung haben, die oft bei commit Nachricht erwähnt werden zum Beispiel einige Klassen können zu einem Projekt mit der gleichen Revisionsnummer hinzugefügt werden eine gewisse Funktionalität.Bedeutung der Revision in Ruhezustand Auditing mit Envers

Aber in Hibernate Auditing Ich verstehe nicht, was eine Revision bedeuten kann? Ich habe diese Frage gestellt, weil die API von Envers mit Revisionen sehr praktisch sind und hauptsächlich mit ihnen arbeiten.

Antwort

1

Die docs (http://docs.jboss.org/envers/docs/) sagen:

Grundsätzlich eine Transaktion ist eine Revision (es sei denn, die Transaktion keine geprüften Stellen ändern haben). Da die Revisionen global sind und eine Revisionsnummer haben, können Sie verschiedene Entitäten dieser Revision abfragen und eine (teilweise) Ansicht der Datenbank bei dieser Revision abrufen. Sie können eine Revisionsnummer mit einem Datum finden, und umgekehrt können Sie das Datum erhalten, an dem eine Revision durchgeführt wurde.

Sie haben also die gleiche Bedeutung und Verhalten. Eine Transaktion ist so etwas wie ein Commit für SVN, Sie können mehrere Dateien haben (im Hibernate werden sie Entitäten sein). Sie können die Entitäten dann nach der Revision prüfen.

+0

Bedeutet das, dass bei jeder einzelnen Transaktion im System, in der mindestens ein Objekt geändert wird, die Revisionsnummer um eins erhöht wird? Bedeutet das, dass es nur eine Transaktion im System geben kann? – Dandelion

+0

Ja, es wird um eins erhöht. Aber es kann mehrere Transaktionen geben, natürlich wird die Revisionsnummer trotzdem erhöht (vielleicht werden einige Sperrstrategien verwendet, weiß nichts über Implementierungsdetails) – rapasoft

+0

Danke @rapasoft, ich werde eine Frage dazu stellen. – Dandelion