public void testAuditRecords()
{
Manager manager = new Manager();
// create book record
Book book = new Book();
book.setTitle("Gone with the wind");
book = manager.addBook(book);
book.setAuthor("Margaret Mitchell");
book = manager.update(book);
book.setTitle("Gone With The Wind");
book = manager.update(book);
manager.deleteBook(book.getBookId());
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
AuditReader auditReader = AuditReaderFactory.get(session);
AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(Book.class, false /* complete revision data: if true just return Book objects */, true /* return deleted entities */).add(new IdentifierEqAuditExpression(book.getBookId(), true));
List<Object[]> bookRevisions = query.getResultList();
assertTrue("The entity does not have 4 revision records",bookRevisions.size() == 4);
for(Object[] auditData : bookRevisions)
{
Book oldBook = (Book) auditData[0];
System.out.print(oldBook);
DefaultRevisionEntity revData = (DefaultRevisionEntity) auditData[1];