Request all versions of Hibernate Envers between two dates

I just started using Hibernate Envers for auditing, and I will be interested to know if there is a way to get all class changes between two dates.

so far i have used:

AuditQuery query = reader.createQuery().forRevisionsOfEntity(MYCLASS.class, false, true);
query.add(AuditEntity.revisionNumber().le(reader.getRevisionNumberForDate(MYDATE)));

to get changes to a specific date, but is there a way to restore all changes between, for example: MYDATE1 and MYDATE2?

+4
source share
2 answers

You can use the betweenmethod AuditPropertyto apply the "between" constraint.

http://docs.jboss.org/envers/api-new/org/hibernate/envers/query/criteria/AuditProperty.html

+5
source

timestamp @RevisionEntity, :

    List<Object[]> revisions = (List<Object[]>) getAuditReader().createQuery()
                .forRevisionsOfEntity(MYCLASS.class, false, true)
                .add(AuditEntity.revisionProperty("timestamp").gt(startDate))
                .add(AuditEntity.revisionProperty("timestamp").lt(endDate))
                .getResultList();
+1

Source: https://habr.com/ru/post/1525522/


All Articles