Examples of EntityEntry


Examples of org.hibernate.engine.EntityEntry

    SessionImplementor session = event.getSession();
    Object old = session.getEntityUsingInterceptor( keyToLoad );

    if ( old != null ) {
      // this object was already loaded
      EntityEntry oldEntry = session.getPersistenceContext().getEntry( old );
      if ( options.isCheckDeleted() ) {
        Status status = oldEntry.getStatus();
        if ( status == Status.DELETED || status == Status.GONE ) {
          return REMOVED_ENTITY_MARKER;
        }
      }
      if ( options.isAllowNulls() ) {
View Full Code Here

Examples of org.hibernate.engine.EntityEntry

    Object existing = persistenceContext.getEntity( keyToLoad );
    if ( existing != null ) {
      // return existing object or initialized proxy (unless deleted)
      log.trace( "entity found in session cache" );
      if ( options.isCheckDeleted() ) {
        EntityEntry entry = persistenceContext.getEntry( existing );
        Status status = entry.getStatus();
        if ( status == Status.DELETED || status == Status.GONE ) {
          return null;
        }
      }
      return existing;
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here

Examples of org.hibernate.engine.spi.EntityEntry

    boolean shouldDelayIdentityInserts = !inTxn && !requiresImmediateIdAccess;

    // Put a placeholder in entries, so we don't recurse back and try to save() the
    // same object again. QUESTION: should this be done before onSave() is called?
    // likewise, should it be done before onUpdate()?
    EntityEntry original = source.getPersistenceContext().addEntry(
        entity,
        Status.SAVING,
        null,
        null,
        id,
        null,
        LockMode.WRITE,
        useIdentityColumn,
        persister,
        false,
        false
    );

    cascadeBeforeSave( source, persister, entity, anything );

    Object[] values = persister.getPropertyValuesToInsert( entity, getMergeMap( anything ), source );
    Type[] types = persister.getPropertyTypes();

    boolean substitute = substituteValuesIfNecessary( entity, id, values, persister, source );

    if ( persister.hasCollections() ) {
      substitute = substitute || visitCollectionsBeforeSave( entity, id, values, types, source );
    }

    if ( substitute ) {
      persister.setPropertyValues( entity, values );
    }

    TypeHelper.deepCopy(
        values,
        types,
        persister.getPropertyUpdateability(),
        values,
        source
    );

    AbstractEntityInsertAction insert = addInsertAction(
        values, id, entity, persister, useIdentityColumn, source, shouldDelayIdentityInserts
    );

    // postpone initializing id in case the insert has non-nullable transient dependencies
    // that are not resolved until cascadeAfterSave() is executed
    cascadeAfterSave( source, persister, entity, anything );
    if ( useIdentityColumn && insert.isEarlyInsert() ) {
      if ( !EntityIdentityInsertAction.class.isInstance( insert ) ) {
        throw new IllegalStateException(
            "Insert should be using an identity column, but action is of unexpected type: " +
                insert.getClass().getName()
        );
      }
      id = ((EntityIdentityInsertAction) insert).getGeneratedId();

      insert.handleNaturalIdPostSaveNotifications( id );
    }

    markInterceptorDirty( entity, persister, source );

    EntityEntry newEntry = source.getPersistenceContext().getEntry( entity );

    if ( newEntry != original ) {
      OgmEntityEntryState ogmEntityState = newEntry.getExtraState( OgmEntityEntryState.class );
      if ( ogmEntityState == null ) {
        newEntry.addExtraState( original.getExtraState( OgmEntityEntryState.class ) );
      }
    }

    return id;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.