Class CrossTypeRevisionChangesReaderImpl
- java.lang.Object
-
- org.hibernate.envers.internal.reader.CrossTypeRevisionChangesReaderImpl
-
- All Implemented Interfaces:
CrossTypeRevisionChangesReader
public class CrossTypeRevisionChangesReaderImpl extends Object implements CrossTypeRevisionChangesReader
-
-
Constructor Summary
Constructors Constructor Description CrossTypeRevisionChangesReaderImpl(AuditReaderImplementor auditReaderImplementor, EnversService enversService)
-
Method Summary
All Methods Instance Methods Concrete 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.
-
-
-
Constructor Detail
-
CrossTypeRevisionChangesReaderImpl
public CrossTypeRevisionChangesReaderImpl(AuditReaderImplementor auditReaderImplementor, EnversService enversService)
-
-
Method Detail
-
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.
-
-