## org.hibernate.envers.query
Class AuditQueryCreator

    java.lang.Object
      org.hibernate.envers.query.AuditQueryCreator

    public class AuditQueryCreator

extends Object

Constructor Summary
`AuditQueryCreator(AuditConfiguration auditCfg, AuditReaderImplementor auditReaderImplementor)`

Method Summary
`AuditQuery` `forEntitiesAtRevision(Class<?> c, Number revision)` Creates a query, which will return entities satisfying some conditions (specified later), at a given revision.
`AuditQuery` `forEntitiesAtRevision(Class<?> c, String entityName, Number revision)` Creates a query, which will return entities satisfying some conditions (specified later), at a given revision and a given entityName.
`AuditQuery` `forEntitiesModifiedAtRevision(Class<?> c, Number revision)` Creates a query, which will return entities modified at the specified revision.
`AuditQuery` `forEntitiesModifiedAtRevision(Class<?> c, String entityName, Number revision)` Creates a query, which will return entities modified at the specified revision.
`AuditQuery` `forRevisionsOfEntity(Class<?> c, boolean selectEntitiesOnly, boolean selectDeletedEntities)` Creates a query, which selects the revisions, at which the given entity was modified.
`AuditQuery` `forRevisionsOfEntity(Class<?> c, String entityName, boolean selectEntitiesOnly, boolean selectDeletedEntities)` Creates a query, which selects the revisions, at which the given entity was modified and with a given entityName.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AuditQueryCreator

    public AuditQueryCreator(AuditConfiguration auditCfg,
                             AuditReaderImplementor auditReaderImplementor)

Method Detail

### forEntitiesAtRevision

    public AuditQuery forEntitiesAtRevision(Class<?> c,
                                            Number revision)

  Creates a query, which will return entities satisfying some conditions (specified later), at a given revision.

  Parameters:
    `c` - Class of the entities for which to query.
    `revision` - Revision number at which to execute the query.
  Returns:
    A query for entities at a given revision, to which conditions can be added and which can then be executed. The result of the query will be a list of entities (beans), unless a projection is added.

### forEntitiesAtRevision

    public AuditQuery forEntitiesAtRevision(Class<?> c,
                                            String entityName,
                                            Number revision)

  Creates a query, which will return entities satisfying some conditions (specified later), at a given revision and a given entityName.

  Parameters:
    `c` - Class of the entities for which to query.
    `entityName` - Name of the entity (if can't be guessed basing on the `c`).
    `revision` - Revision number at which to execute the query.
  Returns:
    A query for entities at a given revision, to which conditions can be added and which can then be executed. The result of the query will be a list of entities (beans), unless a projection is added.

### forEntitiesModifiedAtRevision

    public AuditQuery forEntitiesModifiedAtRevision(Class<?> c,
                                                    String entityName,
                                                    Number revision)

  Creates a query, which will return entities modified at the specified revision. In comparison, the `forEntitiesAtRevision(Class, String, Number)` query takes into all entities which were present at a given revision, even if they were not modified.

  Parameters:
    `c` - Class of the entities for which to query.
    `entityName` - Name of the entity (if can't be guessed basing on the `c`).
    `revision` - Revision number at which to execute the query.
  Returns:
    A query for entities changed at a given revision, to which conditions can be added and which can then be executed.
  See Also:
    `forEntitiesAtRevision(Class, String, Number)`

### forEntitiesModifiedAtRevision

    public AuditQuery forEntitiesModifiedAtRevision(Class<?> c,
                                                    Number revision)

  Creates a query, which will return entities modified at the specified revision. In comparison, the `forEntitiesAtRevision(Class, String, Number)` query takes into all entities which were present at a given revision, even if they were not modified.

  Parameters:
    `c` - Class of the entities for which to query.
    `revision` - Revision number at which to execute the query.
  Returns:
    A query for entities changed at a given revision, to which conditions can be added and which can then be executed.
  See Also:
    `forEntitiesAtRevision(Class, Number)`

### forRevisionsOfEntity

    public AuditQuery forRevisionsOfEntity(Class<?> c,
                                           boolean selectEntitiesOnly,
                                           boolean selectDeletedEntities)

  Creates a query, which selects the revisions, at which the given entity was modified. Unless an explicit projection is set, the result will be a list of three-element arrays, containing:
  1. the entity instance
  2. revision entity, corresponding to the revision at which the entity was modified. If no custom revision entity is used, this will be an instance of `DefaultRevisionEntity`
  3. type of the revision (an enum instance of class `RevisionType`)
  .
  Additional conditions that the results must satisfy may be specified.

  Parameters:
    `c` - Class of the entities for which to query.
    `selectEntitiesOnly` - If true, instead of a list of three-element arrays, a list of entites will be returned as a result of executing this query.
    `selectDeletedEntities` - If true, also revisions where entities were deleted will be returned. The additional entities will have revision type "delete", and contain no data (all fields null), except for the id field.
  Returns:
    A query for revisions at which instances of the given entity were modified, to which conditions can be added (for example - a specific id of an entity of class `c`), and which can then be executed. The results of the query will be sorted in ascending order by the revision number, unless an order or projection is added.

### forRevisionsOfEntity

    public AuditQuery forRevisionsOfEntity(Class<?> c,
                                           String entityName,
                                           boolean selectEntitiesOnly,
                                           boolean selectDeletedEntities)

  Creates a query, which selects the revisions, at which the given entity was modified and with a given entityName. Unless an explicit projection is set, the result will be a list of three-element arrays, containing:
  1. the entity instance
  2. revision entity, corresponding to the revision at which the entity was modified. If no custom revision entity is used, this will be an instance of `DefaultRevisionEntity`
  3. type of the revision (an enum instance of class `RevisionType`)
  .
  Additional conditions that the results must satisfy may be specified.

  Parameters:
    `c` - Class of the entities for which to query.
    `entityName` - Name of the entity (if can't be guessed basing on the `c`).
    `selectEntitiesOnly` - If true, instead of a list of three-element arrays, a list of entites will be returned as a result of executing this query.
    `selectDeletedEntities` - If true, also revisions where entities were deleted will be returned. The additional entities will have revision type "delete", and contain no data (all fields null), except for the id field.
  Returns:
    A query for revisions at which instances of the given entity were modified, to which conditions can be added (for example - a specific id of an entity of class `c`), and which can then be executed. The results of the query will be sorted in ascending order by the revision number, unless an order or projection is added.

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.