Package org.hibernate

Examples of org.hibernate.TransientObjectException


      }

      id = persister.getIdentifier( entity, source.getEntityMode() );

      if ( id == null ) {
        throw new TransientObjectException(
            "the detached instance passed to delete() had a null identifier"
        );
      }

      EntityKey key = new EntityKey( id, persister, source.getEntityMode() );
View Full Code Here


    /*if ( persister.isUnsaved(entity, source) ) {
      throw new TransientObjectException("transient instance passed to replicate()");
    }*/
    Serializable id = persister.getIdentifier( entity, source.getEntityMode() );
    if ( id == null ) {
      throw new TransientObjectException( "instance with null id passed to replicate()" );
    }

    final ReplicationMode replicationMode = event.getReplicationMode();

    final Object oldVersion;
View Full Code Here

          String transientEntityName = event.getSession().guessEntityName( transientEntity );
          transientEntityNames.add( transientEntityName );
          log.trace( "transient instance could not be processed by merge: " +
              transientEntityName + "[" + transientEntity + "]" );
        }
        throw new TransientObjectException(
          "one or more objects is an unsaved transient instance - save transient instance(s) before merging: " +
          transientEntityNames );
      }
    }
    copyCache.clear();
View Full Code Here

      if ( copyEntry == null ) {
        // entity name will not be available for non-POJO entities
        // TODO: cache the entity name somewhere so that it is available to this exception
        log.trace( "transient instance could not be processed by merge: " +
            event.getSession().guessEntityName( copy ) + "[" + entity + "]" );
        throw new TransientObjectException(
          "object is an unsaved transient instance - save the transient instance before merging: " +
            event.getSession().guessEntityName( copy )
        );
      }
      else if ( copyEntry.getStatus() == Status.SAVING ) {
View Full Code Here

    EntityEntry entry = source.getPersistenceContext().getEntry(entity);
    if (entry==null) {
      final EntityPersister persister = source.getEntityPersister( event.getEntityName(), entity );
      final Serializable id = persister.getIdentifier( entity, source.getEntityMode() );
      if ( !ForeignKeys.isNotTransient( event.getEntityName(), entity, Boolean.FALSE, source ) ) {
        throw new TransientObjectException(
            "cannot lock an unsaved transient instance: " +
            persister.getEntityName()
        );
      }
View Full Code Here

      if ( id == null ) {
        // context-entity-identifier returns null explicitly if the entity
        // is not associated with the persistence context; so make some
        // deeper checks...
        if ( isTransient(entityName, object, Boolean.FALSE, session) ) {
          throw new TransientObjectException(
              "object references an unsaved transient instance - save the transient instance before flushing: " +
              (entityName == null ? session.guessEntityName( object ) : entityName)
          );
        }
        id = session.getEntityPersister( entityName, object ).getIdentifier( object, session.getEntityMode() );
View Full Code Here

        return LockMode.NONE;
      }
    }
    EntityEntry e = persistenceContext.getEntry(object);
    if ( e == null ) {
      throw new TransientObjectException( "Given object not associated with the session" );
    }
    if ( e.getStatus() != Status.MANAGED ) {
      throw new ObjectDeletedException(
          "The given object was deleted",
          e.getId(),
View Full Code Here

    errorIfClosed();
    checkTransactionSynchStatus();
    if ( object instanceof HibernateProxy ) {
      LazyInitializer li = ( (HibernateProxy) object ).getHibernateLazyInitializer();
      if ( li.getSession() != this ) {
        throw new TransientObjectException( "The proxy was not associated with this session" );
      }
      return li.getIdentifier();
    }
    else {
      EntityEntry entry = persistenceContext.getEntry(object);
      if ( entry == null ) {
        throw new TransientObjectException( "The instance was not associated with this session" );
      }
      return entry.getId();
    }
  }
View Full Code Here

  public String getEntityName(Object object) {
    errorIfClosed();
    checkTransactionSynchStatus();
    if (object instanceof HibernateProxy) {
      if ( !persistenceContext.containsProxy( object ) ) {
        throw new TransientObjectException("proxy was not associated with the session");
      }
      object = ( (HibernateProxy) object ).getHibernateLazyInitializer().getImplementation();
    }

    EntityEntry entry = persistenceContext.getEntry(object);
View Full Code Here

    }
    return entry.getPersister().getEntityName();
  }

  private void throwTransientObjectException(Object object) throws HibernateException {
    throw new TransientObjectException(
        "object references an unsaved transient instance - save the transient instance before flushing: " +
        guessEntityName(object)
      );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.TransientObjectException

Copyright © 2018 www.massapicom. 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.