List of usage examples for org.hibernate.envers AuditReader findRevision
<T> T findRevision(Class<T> revisionEntityClass, Number revision)
throws IllegalArgumentException, RevisionDoesNotExistException, IllegalStateException;
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Revision<N, T> findLastChangeRevision(ID id) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> revisions = reader.getRevisions(type, id); if (revisions.isEmpty()) { return null; }// w w w . j a v a2s . c o m N latestRevision = (N) revisions.get(revisions.size() - 1); Class<?> revisionEntityClass = revisionEntityInformation.getRevisionEntityClass(); Object revisionEntity = reader.findRevision(revisionEntityClass, latestRevision); RevisionMetadata<N> metadata = (RevisionMetadata<N>) getRevisionMetadata(revisionEntity); return new Revision<N, T>(metadata, reader.find(type, id, latestRevision)); }
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") private Revision<N, T> getEntityForRevision(N revisionNumber, ID id, AuditReader reader) { Class<?> type = revisionEntityInformation.getRevisionEntityClass(); T revision = (T) reader.findRevision(type, revisionNumber); Object entity = reader.find(entityInformation.getJavaType(), id, revisionNumber); return new Revision<N, T>((RevisionMetadata<N>) getRevisionMetadata(revision), (T) entity); }
From source file:de.rs.scrumit.dao.BaseEntityAuditDao.java
License:Open Source License
@Transactional(readOnly = true) public <T extends BaseEntityAuditModel> T getByRevision(Class<T> modelClass, Number revision) { AuditReader reader = AuditReaderFactory.get(entityManager); T model = reader.findRevision(modelClass, revision); return model; }
From source file:pl.konczak.mystartupapp.sharedkernel.enversRepository.EnversRevisionRepositoryImpl.java
License:Apache License
/** * Returns an entity in the given revision for the given entity-id. * * @param revisionNumber//from ww w . j av a2 s .co m * @param id * @param reader * @return */ @SuppressWarnings("unchecked") private Revision<N, T> getEntityForRevision(N revisionNumber, ID id, AuditReader reader) { Class<?> type = revisionEntityInformation.getRevisionEntityClass(); T revision = (T) reader.findRevision(type, revisionNumber); Object entity = reader.find(entityInformation.getJavaType(), id, revisionNumber); return new Revision<N, T>((RevisionMetadata<N>) getRevisionMetadata(revision), (T) entity); }