Alle Artikel mit dem Schlagwort: Historisierung

Beitragsbild zu Hibernate beyond OR Mapping

Hibernate beyond OR-Mapping: Envers

Hibernate ist als OR-Mapping-Framework seit Jahren fest in der Java-Welt (und darüber hinaus, siehe NHibernate ) etabliert. Weniger bekannt sind allerdings die zusätzlich enthaltenen Module, mit denen Hibernate dem Entwickler auch über die OR-Mapping-Thematik hinaus das Leben einfacher machen kann. Nachdem sich der erste Beitrag der “Hibernate beyond OR-Mapping” Serie mit dem Thema “Suche” anhand von Hibernate Search beschäftigte, soll hier nun die Versionierung von Geschäftsdaten mittels Hibernate Envers das Thema sein. Envers erweitert Hibernate  um die Historisierung von Entity Beans. Damit lassen sich frühere Bearbeitungsstände (Revisionen) abfragen und Änderung nachvollziehen (wer hat wann was gemacht). Seit der Hibernate-Version 3.5 ist Envers Bestandteil des Core-Moduls. Im  jStage Backendsystem “Stagemanager” wird es für die Historisierung besonders geschäftskritischer Daten, wie z. B. Artikelmengendefinitionen und Benutzerrechte, eingesetzt. Unter Envers erfolgt die Versionierung transparent beim Speichern der entsprechenden Entitäten ohne zusätzlichen Boilerplate-Code. Zudem wird das Auslesen der Historientabellen durch entsprechende API-Methoden unterstützt. Somit bietet der Einsatz von Envers erhebliche Produktivitätsvorteile gegenüber selbstgestrickten Implementierungen. Historisierung Sehen wir uns nun die Historisierung anhand eines Beispiels an. Historisierte Entitäten werden mit der Annotation @Audited gekennzeichnet. …