Package org.hibernate.envers.strategy
Interface AuditStrategy
-
- All Known Implementing Classes:
DefaultAuditStrategy,ValidityAuditStrategy
public interface AuditStrategyBehaviours of different audit strategy for populating audit data.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description voidaddAssociationAtRevisionRestriction(org.hibernate.envers.internal.tools.query.QueryBuilder rootQueryBuilder, org.hibernate.envers.internal.tools.query.Parameters parameters, java.lang.String revisionProperty, java.lang.String revisionEndProperty, boolean addAlias, org.hibernate.envers.internal.entities.mapper.relation.MiddleIdData referencingIdData, java.lang.String versionsMiddleEntityName, java.lang.String eeOriginalIdPropertyPath, java.lang.String revisionPropertyPath, java.lang.String originalIdPropertyName, java.lang.String alias1, boolean inclusive, org.hibernate.envers.internal.entities.mapper.relation.MiddleComponentData... componentDatas)Update the rootQueryBuilder with an extra WHERE clause to restrict the revision for a middle-entity association.voidaddEntityAtRevisionRestriction(org.hibernate.envers.configuration.internal.GlobalConfiguration globalCfg, org.hibernate.envers.internal.tools.query.QueryBuilder rootQueryBuilder, org.hibernate.envers.internal.tools.query.Parameters parameters, java.lang.String revisionProperty, java.lang.String revisionEndProperty, boolean addAlias, org.hibernate.envers.internal.entities.mapper.relation.MiddleIdData idData, java.lang.String revisionPropertyPath, java.lang.String originalIdPropertyName, java.lang.String alias1, java.lang.String alias2, boolean inclusive)Update the rootQueryBuilder with an extra WHERE clause to restrict the revision for a two-entity relation.default voidperform(Session session, java.lang.String entityName, org.hibernate.envers.boot.internal.EnversService enversService, java.io.Serializable id, java.lang.Object data, java.lang.Object revision)Deprecated.voidperform(Session session, java.lang.String entityName, org.hibernate.envers.configuration.internal.AuditEntitiesConfiguration auditEntitiesConfiguration, java.io.Serializable id, java.lang.Object data, java.lang.Object revision)Perform the persistence of audited data for regular entities.default voidperformCollectionChange(Session session, java.lang.String entityName, java.lang.String propertyName, org.hibernate.envers.boot.internal.EnversService enversService, org.hibernate.envers.internal.entities.mapper.PersistentCollectionChangeData persistentCollectionChangeData, java.lang.Object revision)Deprecated.voidperformCollectionChange(Session session, java.lang.String entityName, java.lang.String propertyName, org.hibernate.envers.configuration.internal.AuditEntitiesConfiguration auditEntitiesConfiguration, org.hibernate.envers.internal.entities.mapper.PersistentCollectionChangeData persistentCollectionChangeData, java.lang.Object revision)Perform the persistence of audited data for collection ("middle") entities.
-
-
-
Method Detail
-
perform
@Deprecated default void perform(Session session, java.lang.String entityName, org.hibernate.envers.boot.internal.EnversService enversService, java.io.Serializable id, java.lang.Object data, java.lang.Object revision)
Deprecated.Perform the persistence of audited data for regular entities.- Parameters:
session- Session, which can be used to persist the data.entityName- Name of the entity, in which the audited change happensenversService- The EnversServiceid- Id of the entity.data- Audit data to persistrevision- Current revision data
-
perform
void perform(Session session, java.lang.String entityName, org.hibernate.envers.configuration.internal.AuditEntitiesConfiguration auditEntitiesConfiguration, java.io.Serializable id, java.lang.Object data, java.lang.Object revision)
Perform the persistence of audited data for regular entities.- Parameters:
session- Session, which can be used to persist the data.entityName- Name of the entity, in which the audited change happensauditEntitiesConfiguration- The audit entity configuration.id- Id of the entity.data- Audit data to persist.revision- Current revision data.
-
performCollectionChange
@Deprecated default void performCollectionChange(Session session, java.lang.String entityName, java.lang.String propertyName, org.hibernate.envers.boot.internal.EnversService enversService, org.hibernate.envers.internal.entities.mapper.PersistentCollectionChangeData persistentCollectionChangeData, java.lang.Object revision)
Deprecated.Perform the persistence of audited data for collection ("middle") entities.- Parameters:
session- Session, which can be used to persist the data.entityName- Name of the entity, in which the audited change happens.propertyName- The name of the property holding the persistent collectionenversService- The EnversServicepersistentCollectionChangeData- Collection change data to be persisted.revision- Current revision data
-
performCollectionChange
void performCollectionChange(Session session, java.lang.String entityName, java.lang.String propertyName, org.hibernate.envers.configuration.internal.AuditEntitiesConfiguration auditEntitiesConfiguration, org.hibernate.envers.internal.entities.mapper.PersistentCollectionChangeData persistentCollectionChangeData, java.lang.Object revision)
Perform the persistence of audited data for collection ("middle") entities.- Parameters:
session- Session, which can be used to persist the data.entityName- Name of the entity, in which the audited change happens.propertyName- The name of the property holding the persistent collectionauditEntitiesConfiguration- audit entity configurationpersistentCollectionChangeData- Collection change data to be persisted.revision- Current revision data
-
addEntityAtRevisionRestriction
void addEntityAtRevisionRestriction(org.hibernate.envers.configuration.internal.GlobalConfiguration globalCfg, org.hibernate.envers.internal.tools.query.QueryBuilder rootQueryBuilder, org.hibernate.envers.internal.tools.query.Parameters parameters, java.lang.String revisionProperty, java.lang.String revisionEndProperty, boolean addAlias, org.hibernate.envers.internal.entities.mapper.relation.MiddleIdData idData, java.lang.String revisionPropertyPath, java.lang.String originalIdPropertyName, java.lang.String alias1, java.lang.String alias2, boolean inclusive)Update the rootQueryBuilder with an extra WHERE clause to restrict the revision for a two-entity relation. This WHERE clause depends on the AuditStrategy, as follows:- For
DefaultAuditStrategya subquery is created:e.revision = (SELECT max(...) ...) - for
ValidityAuditStrategythe revision-end column is used:e.revision <= :revision and (e.endRevision > :revision or e.endRevision is null)
- Parameters:
globalCfg- theGlobalConfigurationrootQueryBuilder- theQueryBuilderthat will be updatedparameters- root parameters to which restrictions shall be addedrevisionProperty- property of the revision columnrevisionEndProperty- property of the revisionEnd column (only used forValidityAuditStrategy)addAlias-booleanindicator if a left alias is neededidData- id-information for the two-entity relation (only used forDefaultAuditStrategy)revisionPropertyPath- path of the revision property (only used forValidityAuditStrategy)originalIdPropertyName- name of the id property (only used forValidityAuditStrategy)alias1- an alias used for subquery (only used forValidityAuditStrategy)alias2- an alias used for subquery (only used forValidityAuditStrategy)inclusive- indicates whether revision number shall be treated as inclusive or exclusive
- For
-
addAssociationAtRevisionRestriction
void addAssociationAtRevisionRestriction(org.hibernate.envers.internal.tools.query.QueryBuilder rootQueryBuilder, org.hibernate.envers.internal.tools.query.Parameters parameters, java.lang.String revisionProperty, java.lang.String revisionEndProperty, boolean addAlias, org.hibernate.envers.internal.entities.mapper.relation.MiddleIdData referencingIdData, java.lang.String versionsMiddleEntityName, java.lang.String eeOriginalIdPropertyPath, java.lang.String revisionPropertyPath, java.lang.String originalIdPropertyName, java.lang.String alias1, boolean inclusive, org.hibernate.envers.internal.entities.mapper.relation.MiddleComponentData... componentDatas)Update the rootQueryBuilder with an extra WHERE clause to restrict the revision for a middle-entity association. This WHERE clause depends on the AuditStrategy, as follows:- For
DefaultAuditStrategya subquery is created:e.revision = (SELECT max(...) ...) - for
ValidityAuditStrategythe revision-end column is used:e.revision <= :revision and (e.endRevision > :revision or e.endRevision is null)
- Parameters:
rootQueryBuilder- theQueryBuilderthat will be updatedparameters- root parameters to which restrictions shall be addedrevisionProperty- property of the revision columnrevisionEndProperty- property of the revisionEnd column (only used forValidityAuditStrategy)addAlias-booleanindicator if a left alias is neededreferencingIdData- id-information for the middle-entity association (only used forDefaultAuditStrategy)versionsMiddleEntityName- name of the middle-entityeeOriginalIdPropertyPath- name of the id property (only used forValidityAuditStrategy)revisionPropertyPath- path of the revision property (only used forValidityAuditStrategy)originalIdPropertyName- name of the id property (only used forValidityAuditStrategy)alias1- an alias used for subqueries (only used forDefaultAuditStrategy)inclusive- indicates whether revision number shall be treated as inclusive or exclusivecomponentDatas- information about the middle-entity relation
- For
-
-