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 AbstractAuditWorkUnit
auditStrategy, entityName, enversService, id, revisionType, sessionImplementor -
Constructor Summary
ConstructorsConstructorDescriptionFakeBidirectionalRelationWorkUnit(org.hibernate.engine.spi.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 AbstractAuditWorkUnit
fillDataWithId, getEntityId, getEntityName, getRevisionType, isPerformed, perform, setPerformed, undoMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AuditWorkUnit
getEntityId, getEntityName, getRevisionType, isPerformed, perform, undo
-
Constructor Details
-
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(org.hibernate.engine.spi.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)
-