Package org.hibernate.engine.spi

Examples of org.hibernate.engine.spi.SessionFactoryImplementor


      // For the case of dynamic-update="false", or no snapshot, we update all properties
      //TODO handle lazy
      propsToUpdate = getPropertyUpdateability( object );
    }

    final SessionFactoryImplementor factory = getFactory();
    if ( log.isTraceEnabled() ) {
      log.trace( "Updating entity: " + MessageHelper.infoString( this, id, factory ) );
      if ( isVersioned() ) {
        log.trace( "Existing version: " + oldVersion + " -> New version: " + fields[getVersionProperty()] );
      }
View Full Code Here


    return rowKeyColumnNames;
  }


  private void raiseStaleObjectStateException(Serializable id) {
    SessionFactoryImplementor factory = getFactory();

    if ( factory.getStatistics().isStatisticsEnabled() ) {
      factory.getStatisticsImplementor().optimisticFailure( getEntityName() );
    }

    throw new StaleObjectStateException( getEntityName(), id );
  }
View Full Code Here

      // For the case of dynamic-update="false", or no snapshot, we update all properties
      //TODO handle lazy
      propsToUpdate = getPropertyUpdateability( object );
    }

    final SessionFactoryImplementor factory = getFactory();
    if ( log.isTraceEnabled() ) {
      log.trace( "Updating entity: " + MessageHelper.infoString( this, id, factory ) );
      if ( isVersioned() ) {
        log.trace( "Existing version: " + oldVersion + " -> New version: " + fields[getVersionProperty()] );
      }
View Full Code Here

    }
  }

  public void checkVersionAndRaiseSOSE(Serializable id, Object oldVersion, SessionImplementor session, Tuple resultset) {
    final Object resultSetVersion = gridVersionType.nullSafeGet( resultset, getVersionColumnName(), session, null );
    final SessionFactoryImplementor factory = getFactory();
    if ( ! gridVersionType.isEqual( oldVersion, resultSetVersion, factory ) ) {
      if ( factory.getStatistics().isStatisticsEnabled() ) {
        factory.getStatisticsImplementor()
            .optimisticFailure( getEntityName() );
      }
      throw new StaleObjectStateException( getEntityName(), id );
    }
  }
View Full Code Here

      }
    }

    final EntityKey key = EntityKeyBuilder.fromPersister( this, id, session );
    final Tuple resultset = gridDialect.getTuple( key, this.getTupleContext() );
    final SessionFactoryImplementor factory = getFactory();
    if ( isImpliedOptimisticLocking && loadedState != null ) {
      // we need to utilize dynamic delete statements
      for ( int j = span - 1; j >= 0; j-- ) {
        boolean[] versionability = getPropertyVersionability();

        //TODO do a diff on the properties value from resultset
        GridType[] types = gridPropertyTypes;

        for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) {
          boolean include = isPropertyOfTable( i, j ) && versionability[i];
          if ( include ) {
            final GridType type = types[i];
            final Object snapshotValue = type.nullSafeGet(
                resultset, getPropertyColumnNames( i ), session, object
            );
            //TODO support other entity modes
            if ( ! type.isEqual( loadedState[i], snapshotValue, factory ) ) {
              if ( factory.getStatistics().isStatisticsEnabled() ) {
                factory.getStatisticsImplementor()
                    .optimisticFailure( getEntityName() );
              }
              throw new StaleObjectStateException( getEntityName(), id );
            }
          }
View Full Code Here

    this.configuration = configuration;
  }

  @Override
  public void sessionFactoryCreated(SessionFactory factory) {
    SessionFactoryImplementor sessionFactoryImplementor = (SessionFactoryImplementor) factory;
    ServiceRegistryImplementor registry = sessionFactoryImplementor.getServiceRegistry();

    SchemaDefiner schemaInitializer = registry.getService( SchemaDefiner.class );
    schemaInitializer.validateMapping( sessionFactoryImplementor );
    schemaInitializer.initializeSchema( configuration, sessionFactoryImplementor );
  }
View Full Code Here

        NativeSQLQueryRootReturn rootReturn = (NativeSQLQueryRootReturn) sqlDefinition.getQueryReturns()[0];
        noSqlQuery.addEntity( "alias1", rootReturn.getReturnEntityName(), LockMode.READ );
      }
    }
    else if ( sqlDefinition.getResultSetRef() != null ) {
      SessionFactoryImplementor sessionFactory = (SessionFactoryImplementor) factory.getSessionFactory();
      ResultSetMappingDefinition resultSetMapping = sessionFactory.getResultSetMapping( sqlDefinition.getResultSetRef() );

      if ( resultSetMapping == null ) {
        throw new HibernateException( "Result set mapping '" + sqlDefinition.getResultSetRef() + "' referenced by query '" + sqlDefinition.getName() + "' does not exist." );
      }
View Full Code Here

  /*
   *  Copied from org.hibernate.jpa.spi.AbstractEntityManagerImpl
   */
  protected void resultClassChecking(Class resultType, NamedSQLQueryDefinition namedQueryDefinition) {
    final SessionFactoryImplementor sfi = (SessionFactoryImplementor) factory.getSessionFactory();

    final NativeSQLQueryReturn[] queryReturns;
    if ( namedQueryDefinition.getQueryReturns() != null ) {
      queryReturns = namedQueryDefinition.getQueryReturns();
    }
    else if ( namedQueryDefinition.getResultSetRef() != null ) {
      final ResultSetMappingDefinition rsMapping = sfi.getResultSetMapping( namedQueryDefinition.getResultSetRef() );
      queryReturns = rsMapping.getQueryReturns();
    }
    else {
      throw new AssertionFailure( "Unsupported named query model. Please report the bug in Hibernate EntityManager");
    }

    if ( queryReturns.length > 1 ) {
      throw new IllegalArgumentException( "Cannot create TypedQuery for query with more than one return" );
    }

    final NativeSQLQueryReturn nativeSQLQueryReturn = queryReturns[0];

    if ( nativeSQLQueryReturn instanceof NativeSQLQueryRootReturn ) {
      final Class<?> actualReturnedClass;
      final String entityClassName = ( (NativeSQLQueryRootReturn) nativeSQLQueryReturn ).getReturnEntityName();
      try {
        actualReturnedClass = sfi.getServiceRegistry().getService( ClassLoaderService.class ).classForName( entityClassName );
      }
      catch ( ClassLoadingException e ) {
        throw new AssertionFailure(
            "Unable to load class [" + entityClassName + "] declared on named native query [" +
                namedQueryDefinition.getName() + "]"
View Full Code Here

   */
  private static class SchemaCreator implements SessionFactoryObserver {

    @Override
    public void sessionFactoryCreated(SessionFactory factory) {
      SessionFactoryImplementor sessionFactoryImplementor = (SessionFactoryImplementor) factory;
      ServiceRegistryImplementor registry = sessionFactoryImplementor.getServiceRegistry();
      Neo4jDatastoreProvider provider = (Neo4jDatastoreProvider) registry.getService( DatastoreProvider.class );
      Set<String> sequences = sequenceGeneratorKeys( sessionFactoryImplementor, provider );
      provider.getSequenceGenerator().createUniqueConstraint( sequences );
    }
View Full Code Here

   */
  private static class SequenceCreator implements SessionFactoryObserver {

    @Override
    public void sessionFactoryCreated(SessionFactory factory) {
      SessionFactoryImplementor sessionFactoryImplementor = (SessionFactoryImplementor) factory;
      ServiceRegistryImplementor registry = sessionFactoryImplementor.getServiceRegistry();
      Neo4jDatastoreProvider provider = (Neo4jDatastoreProvider) registry.getService( DatastoreProvider.class );
      Set<IdentifierGenerator> sequences = sequences( sessionFactoryImplementor, provider );
      provider.getSequenceGenerator().createSequences( sequences );
    }
View Full Code Here

TOP

Related Classes of org.hibernate.engine.spi.SessionFactoryImplementor

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.