Class ToccoUpdateCoordinatorStandard

java.lang.Object
org.hibernate.persister.entity.mutation.AbstractMutationCoordinator
org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard
ch.tocco.nice2.persist.core.impl.hibernate.ToccoUpdateCoordinatorStandard
All Implemented Interfaces:
org.hibernate.persister.entity.mutation.MutationCoordinator, org.hibernate.persister.entity.mutation.UpdateCoordinator

public class ToccoUpdateCoordinatorStandard extends org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard

    org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.DirtinessChecker, org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.InclusionChecker, org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard.UpdateValuesAnalysisImpl
  • Field Summary

    Fields inherited from class org.hibernate.persister.entity.mutation.AbstractMutationCoordinator

    dialect, entityPersister, factory, mutationExecutorService
  • Constructor Summary

    Constructors
    Constructor
    Description
    ToccoUpdateCoordinatorStandard(org.hibernate.persister.entity.AbstractEntityPersister entityPersister, org.hibernate.engine.spi.SessionFactoryImplementor factory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Supplier<org.hibernate.generator.values.GeneratedValues>
    handlePotentialImplicitForcedVersionIncrement(Object entity, Object id, Object[] values, Object oldVersion, int[] incomingDirtyAttributeIndexes, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.metamodel.mapping.EntityVersionMapping versionMapping)
    Since hibernate 6 where is an optimization that handlePotentialImplicitForcedVersionIncrement checks if it is a simple version update and no other attributes than the version is changed.

    Methods inherited from class org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard

    decomposeForUpdate, dirtyAttributeIndexes, doDynamicUpdate, doStaticUpdate, doVersionUpdate, doVersionUpdate, forceVersionIncrement, forceVersionIncrement, generateDynamicUpdateGroup, getBatchKey, getPropertiesToUpdate, getPropertyUpdateability, getStaticMutationOperationGroup, getVersionUpdateBatchkey, getVersionUpdateGroup, isModifiableEntity, newTableUpdateBuilder, performUpdate, resolveUpdateVersionBatchKeyAccess, toString, update

    Methods inherited from class org.hibernate.persister.entity.mutation.AbstractMutationCoordinator

    applyKeyRestriction, bindPartitionColumnValueBindings, breakDownKeyJdbcValues, createOperationGroup, dialect, entityPersister, factory, handleValueGeneration, needsRowId, resolveBatchKeyAccess

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ToccoUpdateCoordinatorStandard

      public ToccoUpdateCoordinatorStandard(org.hibernate.persister.entity.AbstractEntityPersister entityPersister, org.hibernate.engine.spi.SessionFactoryImplementor factory)
  • Method Details

    • handlePotentialImplicitForcedVersionIncrement

      protected Supplier<org.hibernate.generator.values.GeneratedValues> handlePotentialImplicitForcedVersionIncrement(Object entity, Object id, Object[] values, Object oldVersion, int[] incomingDirtyAttributeIndexes, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.metamodel.mapping.EntityVersionMapping versionMapping)
      Since hibernate 6 where is an optimization that handlePotentialImplicitForcedVersionIncrement checks if it is a simple version update and no other attributes than the version is changed. However, in such a case the version is incremented but the update user and timestamp was not changed (see cases in UpdatingVersionAndUpdateUserTest). As we always return null the optimization is disabled, and it works as before with hibernate 5.6.
      Overrides:
      handlePotentialImplicitForcedVersionIncrement in class org.hibernate.persister.entity.mutation.UpdateCoordinatorStandard