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 TypeMethodDescriptionbooleandispatch(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 AuditWorkUnitmerge(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, undoMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
containsWorkin interfaceAuditWorkUnit
-
generateData
- Specified by:
generateDatain 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:
mergein interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
mergein interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
mergein interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
mergein interfaceWorkUnitMergeVisitor
-
merge
- Specified by:
mergein interfaceWorkUnitMergeVisitor
-
dispatch
Description copied from interface:WorkUnitMergeDispatcherShould be invoked on the second work unit.- Specified by:
dispatchin 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)
-