Example usage for org.hibernate.envers.query AuditQuery addProjection

List of usage examples for org.hibernate.envers.query AuditQuery addProjection

Introduction

In this page you can find the example usage for org.hibernate.envers.query AuditQuery addProjection.

Prototype

AuditQuery addProjection(AuditProjection projection);

Source Link

Usage

From source file:org.cast.cwm.data.provider.AuditDataProvider.java

License:Open Source License

@Override
public long size() {
    AuditQuery query = builder.build(Databinder.getHibernateSession());
    query.addProjection(new AuditProperty<Long>(new RevisionNumberPropertyName()).count());
    Number size = (Number) query.getSingleResult();
    return size == null ? 0 : size.longValue();
}

From source file:org.tomitribe.tribestream.registryng.repository.Repository.java

License:Apache License

/**
 * Returns the number of revisions available for the entity with the given id.
 *
 * @param entityClass the Entity class type to use to find revisions
 * @param id          the ID of the entity
 * @return the number of revisions//w  w  w .ja  va  2s. c  om
 */
public <T> int getNumberOfRevisions(final Class<T> entityClass, final String id) {
    final AuditQuery query = AuditReaderFactory.get(em).createQuery().forRevisionsOfEntity(entityClass, true,
            true);
    query.add(AuditEntity.id().eq(id));
    query.addProjection(AuditEntity.revisionNumber().count());

    return ((Number) query.getSingleResult()).intValue();
}