Class FakeBidirectionalRelationWorkUnit
java.lang.Object
org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
org.hibernate.envers.internal.synchronization.work.FakeBidirectionalRelationWorkUnit
- All Implemented Interfaces:
AuditWorkUnit
,WorkUnitMergeDispatcher
,WorkUnitMergeVisitor
public class FakeBidirectionalRelationWorkUnit
extends AbstractAuditWorkUnit
implements AuditWorkUnit
A work unit that handles "fake" bidirectional one-to-many relations (mapped with
@OneToMany+@JoinColumn
and
@ManyToOne+@Column(insertable=false, updatable=false)
.-
Field Summary
Fields inherited from class org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
auditStrategy, entityName, enversService, id, revisionType, sessionImplementor
-
Constructor Summary
ConstructorsConstructorDescriptionFakeBidirectionalRelationWorkUnit
(SessionImplementor sessionImplementor, String entityName, EnversService enversService, Serializable id, String referencingPropertyName, Object owningEntity, RelationDescription rd, RevisionType revisionType, Object index, AuditWorkUnit nestedWorkUnit) FakeBidirectionalRelationWorkUnit
(FakeBidirectionalRelationWorkUnit original, Map<String, org.hibernate.envers.internal.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> fakeRelationChanges, AuditWorkUnit nestedWorkUnit) FakeBidirectionalRelationWorkUnit
(FakeBidirectionalRelationWorkUnit original, AuditWorkUnit nestedWorkUnit) -
Method Summary
Modifier and TypeMethodDescriptionboolean
dispatch
(WorkUnitMergeVisitor first) Should be invoked on the second work unit.generateData
(Object revisionData) Map<String,
org.hibernate.envers.internal.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> merge
(AddWorkUnit second) merge
(CollectionChangeWorkUnit second) merge
(DelWorkUnit second) static AuditWorkUnit
merge
(FakeBidirectionalRelationWorkUnit frwu, AuditWorkUnit nestedFirst, AuditWorkUnit nestedSecond) merge
(ModWorkUnit second) Methods inherited from class org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
fillDataWithId, getEntityId, getEntityName, getRevisionType, isPerformed, perform, setPerformed, undo
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.envers.internal.synchronization.work.AuditWorkUnit
getEntityId, getEntityName, getRevisionType, isPerformed, perform, undo
-
Constructor Details
-
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(SessionImplementor sessionImplementor, String entityName, EnversService enversService, Serializable id, String referencingPropertyName, Object owningEntity, RelationDescription rd, RevisionType revisionType, Object index, AuditWorkUnit nestedWorkUnit) -
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original, Map<String, org.hibernate.envers.internal.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> fakeRelationChanges, AuditWorkUnit nestedWorkUnit) -
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original, AuditWorkUnit nestedWorkUnit)
-
-
Method Details
-
getNestedWorkUnit
-
getFakeRelationChanges
-
containsWork
public boolean containsWork()- Specified by:
containsWork
in interfaceAuditWorkUnit
-
generateData
- Specified by:
generateData
in interfaceAuditWorkUnit
- Parameters:
revisionData
- The current revision data, which will be used to populate the work unit with the correct revision relation.- Returns:
- Generates data that should be saved when performing this work unit.
-
merge
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
dispatch
Description copied from interface:WorkUnitMergeDispatcher
Should be invoked on the second work unit.- Specified by:
dispatch
in interfaceWorkUnitMergeDispatcher
- Parameters:
first
- First work unit (that is, the one added earlier).- Returns:
- The work unit that is the result of the merge.
-
merge
public static AuditWorkUnit merge(FakeBidirectionalRelationWorkUnit frwu, AuditWorkUnit nestedFirst, AuditWorkUnit nestedSecond)
-