List of usage examples for org.hibernate.envers CrossTypeRevisionChangesReader findEntities
List<Object> findEntities(Number revision) throws IllegalStateException, IllegalArgumentException;
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
public List<AuditViewEntry> getAuditViewEntriesForResource(Integer resourceId) { // Map<Hashcode, AuditViewEntry> Map<Integer, AuditViewEntry> allAuditViewEntries = new HashMap<>(); AuditReader reader = AuditReaderFactory.get(entityManager); CrossTypeRevisionChangesReader crossTypeRevisionChangesReader = reader.getCrossTypeRevisionChangesReader(); List<MyRevisionEntity> revisionsForResource = getRevisionsForResource(resourceId); for (MyRevisionEntity revisionEntity : revisionsForResource) { List<Object> changedEntitiesForRevision = crossTypeRevisionChangesReader .findEntities(revisionEntity.getId()); for (Object o : changedEntitiesForRevision) { List resultList = reader.createQuery().forRevisionsOfEntity(o.getClass(), false, true) .add(AuditEntity.revisionNumber().eq(revisionEntity.getId())).getResultList(); createAuditViewEntriesAndAddToMap(allAuditViewEntries, resultList); }/*from w w w. j a v a 2 s . co m*/ } return new ArrayList<>(allAuditViewEntries.values()); }