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 Link icon

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

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

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

    dialect, entityPersister, factory, mutationExecutorService
  • Constructor Summary Link icon

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

    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 Link icon

    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 Link icon

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

    Methods inherited from class java.lang.Object Link icon

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

    • ToccoUpdateCoordinatorStandard Link icon

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

    • handlePotentialImplicitForcedVersionIncrement Link icon

      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