Package 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 isnull
, 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 isnull
, 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 isnull
, 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 isnull
, less or equal to 0.
-
-