## org.hibernate.envers
Interface CrossTypeRevisionChangesReader

All Known Implementing Classes:
  CrossTypeRevisionChangesReaderImpl

    public interface CrossTypeRevisionChangesReader

Queries that allow retrieving snapshots of all entities (regardless of their particular type) changed in the given revision. Note that this API can be legally used only when default mechanism of tracking modified entity names is enabled.

Method Summary
`List<Object>` `findEntities(Number revision)` Find all entities changed (added, updated and removed) in a given revision.
`List<Object>` `findEntities(Number revision, RevisionType revisionType)` Find all entities changed (added, updated or removed) in a given revision.
`Map<RevisionType,List<Object>>` `findEntitiesGroupByRevisionType(Number revision)` Find all entities changed (added, updated and removed) in a given revision grouped by modification type.
`Set<Pair<String,Class>>` `findEntityTypes(Number revision)` Returns set of entity names and corresponding Java classes modified in a given revision.

Method Detail

### findEntities

    List<Object> findEntities(Number revision)
                              throws IllegalStateException,
                                     IllegalArgumentException

  Find all entities changed (added, updated and removed) in a given revision. Executes n+1 SQL queries, where n is a number of different entity classes modified within specified revision.

  Parameters:
    `revision` - Revision number.
  Returns:
    Snapshots of all audited entities changed in a given revision.
  Throws:
    `IllegalStateException` - If the associated entity manager is closed.
    `IllegalArgumentException` - If a revision number is `null`, less or equal to 0.

### findEntities

    List<Object> findEntities(Number revision,
                              RevisionType revisionType)
                              throws IllegalStateException,
                                     IllegalArgumentException

  Find all entities changed (added, updated or removed) in a given revision. Executes n+1 SQL queries, where n is a number of different entity classes modified within specified revision.

  Parameters:
    `revision` - Revision number.
    `revisionType` - Type of modification.
  Returns:
    Snapshots of all audited entities changed in a given revision and filtered by modification type.
  Throws:
    `IllegalStateException` - If the associated entity manager is closed.
    `IllegalArgumentException` - If a revision number is `null`, less or equal to 0.

### findEntitiesGroupByRevisionType

    Map<RevisionType,List<Object>> findEntitiesGroupByRevisionType(Number revision)
                                                                   throws IllegalStateException,
                                                                          IllegalArgumentException

  Find all entities changed (added, updated and removed) in a given revision grouped by modification type. Executes mn+1 SQL queries, where:
  - n - number of different entity classes modified within specified revision.
  - m - number of different revision types. See `RevisionType` enum.

  Parameters:
    `revision` - Revision number.
  Returns:
    Map containing lists of entity snapshots grouped by modification operation (e.g. addition, update, removal).
  Throws:
    `IllegalStateException` - If the associated entity manager is closed.
    `IllegalArgumentException` - If a revision number is `null`, less or equal to 0.

### findEntityTypes

    Set<Pair<String,Class>> findEntityTypes(Number revision)
                                            throws IllegalStateException,
                                                   IllegalArgumentException

  Returns set of entity names and corresponding Java classes modified in a given revision.

  Parameters:
    `revision` - Revision number.
  Returns:
    Set of entity names and corresponding Java classes modified in a given revision.
  Throws:
    `IllegalStateException` - If the associated entity manager is closed.
    `IllegalArgumentException` - If a revision number is `null`, less or equal to 0.

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