Oui, il est possible avec Hibernate Envers d'auditer les lectures d'entités. Voici un exemple pour lire un enregistrement de la table d'audit pour la 1ère révision.
/*Audit Reader*/
public AuditReader getAuditReader() {
return AuditReaderFactory.get(getCrntSession());
}
/*The method to read a record from an entity*/
Integer revisionNumber = (Integer) getAuditReader().createQuery()
.forRevisionsOfEntity(Employee.class, false, true)
.addProjection(AuditEntity.revisionNumber().min())
.getSingleResult();
AuditReader reader = getAuditReader();
Employee emp=reader.findRevision(Employee.class, (Number)revisionNumber);
/* and if Employee has an createdDate record , we can read it using below*/:
System.out.println(emp.getCreatedDate());
Cela ressemble à la recherche d'un enregistrement précédemment audité. Je veux stocker un enregistrement dans les tables d'audit après chaque lecture d'une entité. J'ai fait des recherches et il ne semble pas que envers soutiendra cette opération. Probablement devoir intercepter des demandes et se connecter directement à un fichier ou à une base de données. – wsams