Package org.hibernate

Examples of org.hibernate.TransientObjectException


    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

          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

      isReadOnly = ( ( HibernateProxy ) entityOrProxy ).getHibernateLazyInitializer().isReadOnly();
    }
    else {
      EntityEntry ee =  getEntry( entityOrProxy );
      if ( ee == null ) {
        throw new TransientObjectException("Instance was not associated with this persistence context" );
      }
      isReadOnly = ee.isReadOnly();
    }
    return isReadOnly;
  }
View Full Code Here

  }

  private void setEntityReadOnly(Object entity, boolean readOnly) {
    EntityEntry entry = getEntry(entity);
    if (entry == null) {
      throw new TransientObjectException("Instance was not associated with this persistence context" );
    }
    entry.setReadOnly(readOnly, entity );
    hasNonReadOnlyEntities = hasNonReadOnlyEntities || ! readOnly;
  }
View Full Code Here

    // use the id assigned to the instance
    Serializable id = persister.getIdentifier( entity, session );
    if ( id == null ) {
      // assume this is a newly instantiated transient object
      // which should be saved rather than updated
      throw new TransientObjectException(
          "The given object has a null identifier: " +
              persister.getEntityName()
      );
    }
    else {
View Full Code Here

      }

      id = persister.getIdentifier( entity, source );

      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

    return ( session != null && ! session.isClosed() );
  }

  private void errorIfReadOnlySettingNotAvailable() {
    if ( session == null ) {
      throw new TransientObjectException(
          "Proxy is detached (i.e, session is null). The read-only/modifiable setting is only accessible when the proxy is associated with an open session." );
    }
    if ( session.isClosed() ) {
      throw new SessionException(
          "Session is closed. The read-only/modifiable setting is only accessible when the proxy is associated with an open session." );
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.