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:

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.