Class CrossTypeRevisionChangesReaderImpl
java.lang.Object
org.hibernate.envers.internal.reader.CrossTypeRevisionChangesReaderImpl
- All Implemented Interfaces:
CrossTypeRevisionChangesReader
public class CrossTypeRevisionChangesReaderImpl
extends Object
implements CrossTypeRevisionChangesReader
-
Constructor Summary
ConstructorsConstructorDescriptionCrossTypeRevisionChangesReaderImpl
(AuditReaderImplementor auditReaderImplementor, EnversService enversService) -
Method Summary
Modifier and TypeMethodDescriptionfindEntities
(Number revision) Find all entities changed (added, updated and removed) in a given revision.findEntities
(Number revision, RevisionType revisionType) Find all entities changed (added, updated or removed) in a given revision.findEntitiesGroupByRevisionType
(Number revision) Find all entities changed (added, updated and removed) in a given revision grouped by modification type.findEntityTypes
(Number revision) Returns set of entity names and corresponding Java classes modified in a given revision.
-
Constructor Details
-
CrossTypeRevisionChangesReaderImpl
public CrossTypeRevisionChangesReaderImpl(AuditReaderImplementor auditReaderImplementor, EnversService enversService)
-
-
Method Details
-
findEntities
public List<Object> findEntities(Number revision) throws IllegalStateException, IllegalArgumentException Description copied from interface:CrossTypeRevisionChangesReader
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.- Specified by:
findEntities
in interfaceCrossTypeRevisionChangesReader
- 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
public List<Object> findEntities(Number revision, RevisionType revisionType) throws IllegalStateException, IllegalArgumentException Description copied from interface:CrossTypeRevisionChangesReader
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.- Specified by:
findEntities
in interfaceCrossTypeRevisionChangesReader
- 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
public Map<RevisionType,List<Object>> findEntitiesGroupByRevisionType(Number revision) throws IllegalStateException, IllegalArgumentException Description copied from interface:CrossTypeRevisionChangesReader
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.
- Specified by:
findEntitiesGroupByRevisionType
in interfaceCrossTypeRevisionChangesReader
- 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
public Set<Pair<String,Class>> findEntityTypes(Number revision) throws IllegalStateException, IllegalArgumentException Description copied from interface:CrossTypeRevisionChangesReader
Returns set of entity names and corresponding Java classes modified in a given revision.- Specified by:
findEntityTypes
in interfaceCrossTypeRevisionChangesReader
- 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.
-