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

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

Introduction

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

Prototype

AuditQuery setMaxResults(int maxResults);

Source Link

Usage

From source file:com.actelion.research.spiritcore.services.dao.DAORevision.java

License:Open Source License

/**
 * Returns all revisions of the given entity until the given maxRevId
 * @param obj/*from w  w  w  .ja v  a  2s .co m*/
 * @param maxRevId (-1, to ignore)
 * @return
 */
@SuppressWarnings("unchecked")
public static List<Revision> getLastRevisions(Class<?> claz, Serializable entityId, int maxRevId, int n) {

    long s = System.currentTimeMillis();
    EntityManager session = JPAUtil.getManager();
    AuditReader reader = AuditReaderFactory.get(session);
    AuditQuery query = reader.createQuery().forRevisionsOfEntity(claz, false, true).setCacheable(false)
            .setLockMode(LockMode.NONE);
    query.add(AuditEntity.id().eq(entityId));

    if (maxRevId > 0) {
        query.add(AuditEntity.revisionNumber().le(maxRevId));
    }
    if (n > 0) {
        query.setMaxResults(n);
        query.addOrder(AuditEntity.revisionNumber().desc());
    }
    List<Revision> revisions = getRevisions(null, query.getResultList());
    LoggerFactory.getLogger(DAORevision.class).debug("Loaded revisions for " + claz.getSimpleName() + "("
            + entityId + ") maxRevId=" + maxRevId + "-" + n + " in " + (System.currentTimeMillis() - s) + "ms");
    return revisions;
}

From source file:com.actelion.research.spiritcore.services.dao.DAORevision.java

License:Open Source License

/**
 * Get the different version of an element, the first element of the list shows the most recent version
 * @param obj//  w  ww  .ja v  a  2s . co  m
 * @return
 */
public static <T extends IObject> List<T> getHistory(Class claz, Serializable objectId, int maxRevs) {
    long s = System.currentTimeMillis();
    EntityManager session = JPAUtil.getManager();
    AuditReader reader = AuditReaderFactory.get(session);
    AuditQuery query = reader.createQuery().forRevisionsOfEntity(claz, true, false)
            .add(AuditEntity.id().eq(objectId)).addOrder(AuditEntity.revisionNumber().desc())
            .setCacheable(false).setLockMode(LockMode.NONE);
    if (maxRevs > 0) {
        query.setMaxResults(maxRevs);
    }
    List<T> res = query.getResultList();
    for (T t : res) {
        session.detach(t);
    }

    LoggerFactory.getLogger(DAORevision.class).debug("Loaded history for " + claz.getSimpleName() + ": ("
            + objectId + ") in " + (System.currentTimeMillis() - s) + "ms");
    return res;
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Override//from w w  w  . ja  v  a 2 s  .co  m
public Iterator<? extends AuditTriple<E, R>> iterator(long first, long count) {
    AuditQuery query = builder.buildSorted(Databinder.getHibernateSession());
    query.setFirstResult((int) first);
    query.setMaxResults((int) count);
    return new AuditIteratorAdapter<E, R>(query.getResultList().iterator());
}