org.hibernate.engine.spi.SessionFactoryImplementor.getCustomEntityDirtinessStrategy()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.1k)|赞(0)|评价(0)|浏览(77)

本文整理了Java中org.hibernate.engine.spi.SessionFactoryImplementor.getCustomEntityDirtinessStrategy()方法的一些代码示例,展示了SessionFactoryImplementor.getCustomEntityDirtinessStrategy()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SessionFactoryImplementor.getCustomEntityDirtinessStrategy()方法的具体详情如下:
包路径:org.hibernate.engine.spi.SessionFactoryImplementor
类名称:SessionFactoryImplementor
方法名:getCustomEntityDirtinessStrategy

SessionFactoryImplementor.getCustomEntityDirtinessStrategy介绍

暂无

代码示例

代码示例来源:origin: hibernate/hibernate-orm

@Override
public CustomEntityDirtinessStrategy getCustomEntityDirtinessStrategy() {
  return delegate.getCustomEntityDirtinessStrategy();
}

代码示例来源:origin: hibernate/hibernate-orm

private boolean isUpdateNecessary(final FlushEntityEvent event, final boolean mightBeDirty) {
  final Status status = event.getEntityEntry().getStatus();
  if ( mightBeDirty || status == Status.DELETED ) {
    // compare to cached state (ignoring collections unless versioned)
    dirtyCheck( event );
    if ( isUpdateNecessary( event ) ) {
      return true;
    }
    else {
      if ( SelfDirtinessTracker.class.isInstance( event.getEntity() ) ) {
        ( (SelfDirtinessTracker) event.getEntity() ).$$_hibernate_clearDirtyAttributes();
      }
      event.getSession()
          .getFactory()
          .getCustomEntityDirtinessStrategy()
          .resetDirty( event.getEntity(), event.getEntityEntry().getPersister(), event.getSession() );
      return false;
    }
  }
  else {
    return hasDirtyCollections( event, event.getEntityEntry().getPersister(), status );
  }
}

代码示例来源:origin: hibernate/hibernate-orm

@SuppressWarnings( {"SimplifiableIfStatement"})
private boolean isUnequivocallyNonDirty(Object entity) {
  if ( entity instanceof SelfDirtinessTracker ) {
    return ! persister.hasCollections() && ! ( (SelfDirtinessTracker) entity ).$$_hibernate_hasDirtyAttributes();
  }
  final CustomEntityDirtinessStrategy customEntityDirtinessStrategy =
      getPersistenceContext().getSession().getFactory().getCustomEntityDirtinessStrategy();
  if ( customEntityDirtinessStrategy.canDirtyCheck( entity, getPersister(), (Session) getPersistenceContext().getSession() ) ) {
    return ! customEntityDirtinessStrategy.isDirty( entity, getPersister(), (Session) getPersistenceContext().getSession() );
  }
  if ( getPersister().hasMutableProperties() ) {
    return false;
  }
  return false;
}

代码示例来源:origin: hibernate/hibernate-orm

@Override
public void postUpdate(Object entity, Object[] updatedState, Object nextVersion) {
  this.loadedState = updatedState;
  setLockMode( LockMode.WRITE );
  if ( getPersister().isVersioned() ) {
    this.version = nextVersion;
    getPersister().setPropertyValue( entity, getPersister().getVersionProperty(), nextVersion );
  }
  if( entity instanceof SelfDirtinessTracker ) {
    ( (SelfDirtinessTracker) entity ).$$_hibernate_clearDirtyAttributes();
  }
  getPersistenceContext().getSession()
      .getFactory()
      .getCustomEntityDirtinessStrategy()
      .resetDirty( entity, getPersister(), (Session) getPersistenceContext().getSession() );
}

代码示例来源:origin: hibernate/hibernate-orm

session.getFactory().getCustomEntityDirtinessStrategy().findDirty(
    entity,
    persister,

代码示例来源:origin: org.hibernate.orm/hibernate-core

@Override
public CustomEntityDirtinessStrategy getCustomEntityDirtinessStrategy() {
  return delegate.getCustomEntityDirtinessStrategy();
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core

@SuppressWarnings( {"SimplifiableIfStatement"})
private boolean isUnequivocallyNonDirty(Object entity) {
  if ( getPersister().getInstrumentationMetadata().isInstrumented() ) {
    // the entity must be instrumented (otherwise we cant check dirty flag) and the dirty flag is false
    return ! getPersister().getInstrumentationMetadata().extractInterceptor( entity ).isDirty();
  }
  final CustomEntityDirtinessStrategy customEntityDirtinessStrategy =
      persistenceContext.getSession().getFactory().getCustomEntityDirtinessStrategy();
  if ( customEntityDirtinessStrategy.canDirtyCheck( entity, getPersister(), (Session) persistenceContext.getSession() ) ) {
    return ! customEntityDirtinessStrategy.isDirty( entity, getPersister(), (Session) persistenceContext.getSession() );
  }
  return false;
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate

@SuppressWarnings( {"SimplifiableIfStatement"})
private boolean isUnequivocallyNonDirty(Object entity) {
  if ( getPersister().getInstrumentationMetadata().isInstrumented() ) {
    // the entity must be instrumented (otherwise we cant check dirty flag) and the dirty flag is false
    return ! getPersister().getInstrumentationMetadata().extractInterceptor( entity ).isDirty();
  }
  final CustomEntityDirtinessStrategy customEntityDirtinessStrategy =
      persistenceContext.getSession().getFactory().getCustomEntityDirtinessStrategy();
  if ( customEntityDirtinessStrategy.canDirtyCheck( entity, getPersister(), (Session) persistenceContext.getSession() ) ) {
    return ! customEntityDirtinessStrategy.isDirty( entity, getPersister(), (Session) persistenceContext.getSession() );
  }
  return false;
}

代码示例来源:origin: org.hibernate.orm/hibernate-core

private boolean isUpdateNecessary(final FlushEntityEvent event, final boolean mightBeDirty) {
  final Status status = event.getEntityEntry().getStatus();
  if ( mightBeDirty || status == Status.DELETED ) {
    // compare to cached state (ignoring collections unless versioned)
    dirtyCheck( event );
    if ( isUpdateNecessary( event ) ) {
      return true;
    }
    else {
      if ( SelfDirtinessTracker.class.isInstance( event.getEntity() ) ) {
        ( (SelfDirtinessTracker) event.getEntity() ).$$_hibernate_clearDirtyAttributes();
      }
      event.getSession()
          .getFactory()
          .getCustomEntityDirtinessStrategy()
          .resetDirty( event.getEntity(), event.getEntityEntry().getDescriptor(), event.getSession() );
      return false;
    }
  }
  else {
    return hasDirtyCollections( event, event.getEntityEntry().getDescriptor(), status );
  }
}

代码示例来源:origin: org.hibernate.orm/hibernate-core

/**
 * Check to see if we know (100%, with absolute certainty) that the entity
 * is not dirty (and can skip dirty checking)
 */
@SuppressWarnings( {"SimplifiableIfStatement"})
private boolean isUnequivocallyNonDirty(Object entity) {
  if ( entity instanceof SelfDirtinessTracker ) {
    return ! descriptor.hasCollections() && ! ( (SelfDirtinessTracker) entity ).$$_hibernate_hasDirtyAttributes();
  }
  final CustomEntityDirtinessStrategy customEntityDirtinessStrategy =
      getPersistenceContext().getSession().getFactory().getCustomEntityDirtinessStrategy();
  if ( customEntityDirtinessStrategy.canDirtyCheck( entity, getDescriptor(), (Session) getPersistenceContext().getSession() ) ) {
    return ! customEntityDirtinessStrategy.isDirty( entity, getDescriptor(), (Session) getPersistenceContext().getSession() );
  }
  if ( getDescriptor().hasMutableProperties() ) {
    return false;
  }
  return false;
}

代码示例来源:origin: org.hibernate.orm/hibernate-core

@Override
public void postUpdate(Object entity, Object[] updatedState, Object nextVersion) {
  this.loadedState = updatedState;
  setLockMode( LockMode.WRITE );
  if ( getDescriptor().getHierarchy().getVersionDescriptor() != null ) {
    this.version = nextVersion;
    getDescriptor().getHierarchy().getVersionDescriptor()
        .getPropertyAccess()
        .getSetter()
        .set( entity, nextVersion, getDescriptor().getFactory() );
  }
  if( entity instanceof SelfDirtinessTracker ) {
    ( (SelfDirtinessTracker) entity ).$$_hibernate_clearDirtyAttributes();
  }
  getPersistenceContext().getSession()
      .getFactory()
      .getCustomEntityDirtinessStrategy()
      .resetDirty( entity, getDescriptor(), (Session) getPersistenceContext().getSession() );
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate

/**
 * Handle updating the internal state of the entry after actually performing
 * the database update.  Specifically we update the snapshot information and
 * escalate the lock mode
 *
 * @param entity The entity instance
 * @param updatedState The state calculated after the update (becomes the
 * new {@link #getLoadedState() loaded state}.
 * @param nextVersion The new version.
 */
public void postUpdate(Object entity, Object[] updatedState, Object nextVersion) {
  this.loadedState = updatedState;
  setLockMode( LockMode.WRITE );
  if ( getPersister().isVersioned() ) {
    this.version = nextVersion;
    getPersister().setPropertyValue( entity, getPersister().getVersionProperty(), nextVersion );
  }
  if ( getPersister().getInstrumentationMetadata().isInstrumented() ) {
    final FieldInterceptor interceptor = getPersister().getInstrumentationMetadata().extractInterceptor( entity );
    if ( interceptor != null ) {
      interceptor.clearDirty();
    }
  }
  persistenceContext.getSession()
      .getFactory()
      .getCustomEntityDirtinessStrategy()
      .resetDirty( entity, getPersister(), (Session) persistenceContext.getSession() );
  notifyLoadedStateUpdated();
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core

/**
 * Handle updating the internal state of the entry after actually performing
 * the database update.  Specifically we update the snapshot information and
 * escalate the lock mode
 *
 * @param entity The entity instance
 * @param updatedState The state calculated after the update (becomes the
 * new {@link #getLoadedState() loaded state}.
 * @param nextVersion The new version.
 */
public void postUpdate(Object entity, Object[] updatedState, Object nextVersion) {
  this.loadedState = updatedState;
  setLockMode( LockMode.WRITE );
  if ( getPersister().isVersioned() ) {
    this.version = nextVersion;
    getPersister().setPropertyValue( entity, getPersister().getVersionProperty(), nextVersion );
  }
  if ( getPersister().getInstrumentationMetadata().isInstrumented() ) {
    final FieldInterceptor interceptor = getPersister().getInstrumentationMetadata().extractInterceptor( entity );
    if ( interceptor != null ) {
      interceptor.clearDirty();
    }
  }
  persistenceContext.getSession()
      .getFactory()
      .getCustomEntityDirtinessStrategy()
      .resetDirty( entity, getPersister(), (Session) persistenceContext.getSession() );
  notifyLoadedStateUpdated();
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate

private boolean isUpdateNecessary(final FlushEntityEvent event, final boolean mightBeDirty) {
  final Status status = event.getEntityEntry().getStatus();
  if ( mightBeDirty || status==Status.DELETED ) {
    // compare to cached state (ignoring collections unless versioned)
    dirtyCheck(event);
    if ( isUpdateNecessary(event) ) {
      return true;
    }
    else {
      if ( event.getEntityEntry().getPersister().getInstrumentationMetadata().isInstrumented() ) {
        event.getEntityEntry()
            .getPersister()
            .getInstrumentationMetadata()
            .extractInterceptor( event.getEntity() )
            .clearDirty();
      }
      event.getSession()
          .getFactory()
          .getCustomEntityDirtinessStrategy()
          .resetDirty( event.getEntity(), event.getEntityEntry().getPersister(), event.getSession() );
      return false;
    }
  }
  else {
    return hasDirtyCollections( event, event.getEntityEntry().getPersister(), status );
  }
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core

private boolean isUpdateNecessary(final FlushEntityEvent event, final boolean mightBeDirty) {
  final Status status = event.getEntityEntry().getStatus();
  if ( mightBeDirty || status==Status.DELETED ) {
    // compare to cached state (ignoring collections unless versioned)
    dirtyCheck(event);
    if ( isUpdateNecessary(event) ) {
      return true;
    }
    else {
      if ( event.getEntityEntry().getPersister().getInstrumentationMetadata().isInstrumented() ) {
        event.getEntityEntry()
            .getPersister()
            .getInstrumentationMetadata()
            .extractInterceptor( event.getEntity() )
            .clearDirty();
      }
      event.getSession()
          .getFactory()
          .getCustomEntityDirtinessStrategy()
          .resetDirty( event.getEntity(), event.getEntityEntry().getPersister(), event.getSession() );
      return false;
    }
  }
  else {
    return hasDirtyCollections( event, event.getEntityEntry().getPersister(), status );
  }
}

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate

session.getFactory().getCustomEntityDirtinessStrategy().findDirty(
    entity,
    persister,

代码示例来源:origin: org.hibernate.orm/hibernate-core

session.getFactory().getCustomEntityDirtinessStrategy().findDirty(
    entity,
    entityDescriptor,

代码示例来源:origin: org.hibernate/com.springsource.org.hibernate.core

session.getFactory().getCustomEntityDirtinessStrategy().findDirty(
    entity,
    persister,

相关文章

微信公众号

最新文章

更多

SessionFactoryImplementor类方法