Examples of JdbcServices


Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public SettingsFactory() {
  }

  public Settings buildSettings(Properties props, ServiceRegistry serviceRegistry) {
    final boolean debugEnabled =  LOG.isDebugEnabled();
    final JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class );
    Settings settings = new Settings();

    //SessionFactory name:

    String sessionFactoryName = props.getProperty( AvailableSettings.SESSION_FACTORY_NAME );
    settings.setSessionFactoryName( sessionFactoryName );
    settings.setSessionFactoryNameAlsoJndiName(
        ConfigurationHelper.getBoolean( AvailableSettings.SESSION_FACTORY_NAME_IS_JNDI, props, true )
    );

    //JDBC and connection settings:

    //Interrogate JDBC metadata
    ExtractedDatabaseMetaData meta = jdbcServices.getExtractedMetaDataSupport();

    settings.setDataDefinitionImplicitCommit( meta.doesDataDefinitionCauseTransactionCommit() );
    settings.setDataDefinitionInTransactionSupported( meta.supportsDataDefinitionInTransaction() );

    //use dialect default properties
    final Properties properties = new Properties();
    properties.putAll( jdbcServices.getDialect().getDefaultProperties() );
    properties.putAll( props );

    // Transaction settings:
    settings.setJtaPlatform( serviceRegistry.getService( JtaPlatform.class ) );

    final MultiTableBulkIdStrategy multiTableBulkIdStrategy = getMultiTableBulkIdStrategy(
        properties,
        jdbcServices.getDialect(),
        serviceRegistry.getService( ClassLoaderService.class )
    );
    settings.setMultiTableBulkIdStrategy( multiTableBulkIdStrategy );

    boolean flushBeforeCompletion = ConfigurationHelper.getBoolean(AvailableSettings.FLUSH_BEFORE_COMPLETION, properties);
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public SchemaExport(MetadataImplementor metadata) {
    ServiceRegistry serviceRegistry = metadata.getServiceRegistry();
    this.connectionHelper = new SuppliedConnectionProviderConnectionHelper(
        serviceRegistry.getService( ConnectionProvider.class )
    );
        JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class );
    this.sqlStatementLogger = jdbcServices.getSqlStatementLogger();
    this.formatter = ( sqlStatementLogger.isFormat() ? FormatStyle.DDL : FormatStyle.NONE ).getFormatter();
    this.sqlExceptionHelper = jdbcServices.getSqlExceptionHelper();

    this.importFiles = ConfigurationHelper.getString(
        AvailableSettings.HBM2DDL_IMPORT_FILES,
        serviceRegistry.getService( ConfigurationService.class ).getSettings(),
        DEFAULT_IMPORT_FILE
    );

    final Dialect dialect = jdbcServices.getDialect();
    this.dropSQL = metadata.getDatabase().generateDropSchemaScript( dialect );
    this.createSQL = metadata.getDatabase().generateSchemaCreationScript( dialect );
  }
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  protected void executeDDL(String[] sqls, boolean ignoreErrors) throws SQLException {   
    Configuration configuration = new Configuration();
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
    builder.applySettings(configuration.getProperties());
    ServiceRegistry serviceRegistry = builder.build();
    JdbcServices jdbcServices = serviceRegistry.getService(JdbcServices.class);
   
    if(!appliesTo( jdbcServices.getDialect() )) {
      fail("test case does not apply to " + jdbcServices.getDialect());
      return; // don't do anything to avoid crippled db
    }
   
    Statement statement = null;
    Connection con = null;
        try {
         
    con = jdbcServices.getConnectionProvider().getConnection();
   
    DatabaseMetaData metaData = con.getMetaData();
    storesLowerCaseIdentifiers = metaData.storesLowerCaseIdentifiers();
        storesUpperCaseIdentifiers = metaData.storesUpperCaseIdentifiers();
       
   
    statement = con.createStatement();
   
   
   
    for (int i = 0; i < sqls.length; i++) {
      String ddlsql = sqls[i];
      log.info( "Execute: " + ddlsql);
     
            try {             
              statement.execute(ddlsql);
            }
            catch (SQLException se) {
              if(ignoreErrors) {
                log.info(se.toString() + " for " + ddlsql);
              } else {
                log.error(ddlsql, se);
                throw se;
              }
            }
    }
    con.commit();
        } finally {
          if (statement!=null) statement.close();
          jdbcServices.getConnectionProvider().closeConnection(con);
         
        }
  }
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

    builder.applySettings(configuration.getProperties());
    ServiceRegistry serviceRegistry = builder.build();
   
    Settings testSettings = configuration.buildSettings(serviceRegistry);
   
    JdbcServices jdbcServices = serviceRegistry.getService(JdbcServices.class);
    Connection con = null;
        try {
   
    con = jdbcServices.getConnectionProvider().getConnection();
   
    JDBCMetaDataDialect dialect = new JDBCMetaDataDialect();
   
    dialect.configure( ReverseEngineeringRuntimeInfo.createInstance(jdbcServices.getConnectionProvider(), jdbcServices.getSqlExceptionHelper().getSqlExceptionConverter(), new DefaultDatabaseCollector(dialect)));
    Iterator tables = dialect.getTables( testSettings.getDefaultCatalogName(), testSettings.getDefaultSchemaName(), null );
   
    assertHasNext( 0, tables );
        } finally {
          jdbcServices.getConnectionProvider().closeConnection(con)
        }
   
  }
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public void testExportedKeys() {
 
    MetaDataDialect dialect = new JDBCMetaDataDialect();
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
    ServiceRegistry serviceRegistry = builder.build();
    JdbcServices jdbcServices = serviceRegistry.getService(JdbcServices.class);
    Settings settings = cfg.buildSettings(serviceRegistry);
   
    dialect.configure( ReverseEngineeringRuntimeInfo.createInstance(jdbcServices.getConnectionProvider(),
        jdbcServices.getSqlExceptionHelper().getSqlExceptionConverter(), new DefaultDatabaseCollector(dialect)));
   
    Iterator tables = dialect.getTables( settings.getDefaultCatalogName(), settings.getDefaultSchemaName(), identifier("tab_master") );
   
    boolean foundMaster = false;
    while(tables.hasNext()) {
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public void testDataType() {
   
    MetaDataDialect dialect = new JDBCMetaDataDialect();
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
    ServiceRegistry serviceRegistry = builder.build();
    JdbcServices jdbcServices = serviceRegistry.getService(JdbcServices.class);
    Settings settings = cfg.buildSettings(serviceRegistry);
   
    dialect.configure( ReverseEngineeringRuntimeInfo.createInstance(jdbcServices.getConnectionProvider(),
        jdbcServices.getSqlExceptionHelper().getSqlExceptionConverter(), new DefaultDatabaseCollector(dialect)));
   
    Iterator tables = dialect.getColumns( settings.getDefaultCatalogName(), settings.getDefaultSchemaName(), "test", null );
   
   
    while(tables.hasNext()) {
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

   
 
    MetaDataDialect dialect = new JDBCMetaDataDialect();
    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
    ServiceRegistry serviceRegistry = builder.build();
    JdbcServices jdbcServices = serviceRegistry.getService(JdbcServices.class);
    Settings settings = cfg.buildSettings(serviceRegistry);
   
    dialect.configure( ReverseEngineeringRuntimeInfo.createInstance(jdbcServices.getConnectionProvider(),
        jdbcServices.getSqlExceptionHelper().getSqlExceptionConverter(), new DefaultDatabaseCollector(dialect)));
   
    Iterator tables = dialect.getTables( settings.getDefaultCatalogName(), settings.getDefaultSchemaName(), identifier( "TAB_MASTER"));
   
    assertHasNext( 1,  tables );
   
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public SettingsFactory() {
  }

  public Settings buildSettings(Properties props, ServiceRegistry serviceRegistry) {
    final boolean debugEnabled =  LOG.isDebugEnabled();
    final JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class );
    Settings settings = new Settings();

    //SessionFactory name:

    String sessionFactoryName = props.getProperty( Environment.SESSION_FACTORY_NAME );
    settings.setSessionFactoryName( sessionFactoryName );
    settings.setSessionFactoryNameAlsoJndiName(
        ConfigurationHelper.getBoolean( AvailableSettings.SESSION_FACTORY_NAME_IS_JNDI, props, true )
    );

    //JDBC and connection settings:

    //Interrogate JDBC metadata
    ExtractedDatabaseMetaData meta = jdbcServices.getExtractedMetaDataSupport();

    settings.setDataDefinitionImplicitCommit( meta.doesDataDefinitionCauseTransactionCommit() );
    settings.setDataDefinitionInTransactionSupported( meta.supportsDataDefinitionInTransaction() );

    //use dialect default properties
    final Properties properties = new Properties();
    properties.putAll( jdbcServices.getDialect().getDefaultProperties() );
    properties.putAll( props );

    // Transaction settings:
    settings.setJtaPlatform( serviceRegistry.getService( JtaPlatform.class ) );
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public SettingsFactory() {
  }

  public Settings buildSettings(Properties props, ServiceRegistry serviceRegistry) {
    final boolean debugEnabled =  LOG.isDebugEnabled();
    final JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class );
    Settings settings = new Settings();

    //SessionFactory name:

    String sessionFactoryName = props.getProperty( Environment.SESSION_FACTORY_NAME );
    settings.setSessionFactoryName( sessionFactoryName );
    settings.setSessionFactoryNameAlsoJndiName(
        ConfigurationHelper.getBoolean( AvailableSettings.SESSION_FACTORY_NAME_IS_JNDI, props, true )
    );

    //JDBC and connection settings:

    //Interrogate JDBC metadata
    ExtractedDatabaseMetaData meta = jdbcServices.getExtractedMetaDataSupport();

    settings.setDataDefinitionImplicitCommit( meta.doesDataDefinitionCauseTransactionCommit() );
    settings.setDataDefinitionInTransactionSupported( meta.supportsDataDefinitionInTransaction() );

    //use dialect default properties
    final Properties properties = new Properties();
    properties.putAll( jdbcServices.getDialect().getDefaultProperties() );
    properties.putAll( props );

    // Transaction settings:
    settings.setJtaPlatform( serviceRegistry.getService( JtaPlatform.class ) );

    boolean flushBeforeCompletion = ConfigurationHelper.getBoolean(Environment.FLUSH_BEFORE_COMPLETION, properties);
    if ( debugEnabled ) {
      LOG.debugf( "Automatic flush during beforeCompletion(): %s", enabledDisabled(flushBeforeCompletion) );
    }
    settings.setFlushBeforeCompletionEnabled(flushBeforeCompletion);

    boolean autoCloseSession = ConfigurationHelper.getBoolean(Environment.AUTO_CLOSE_SESSION, properties);
    if ( debugEnabled ) {
      LOG.debugf( "Automatic session close at end of transaction: %s", enabledDisabled(autoCloseSession) );
    }
    settings.setAutoCloseSessionEnabled(autoCloseSession);

    //JDBC and connection settings:

    int batchSize = ConfigurationHelper.getInt(Environment.STATEMENT_BATCH_SIZE, properties, 0);
    if ( !meta.supportsBatchUpdates() ) {
      batchSize = 0;
    }
    if ( batchSize > 0 && debugEnabled ) {
      LOG.debugf( "JDBC batch size: %s", batchSize );
    }
    settings.setJdbcBatchSize(batchSize);

    boolean jdbcBatchVersionedData = ConfigurationHelper.getBoolean(Environment.BATCH_VERSIONED_DATA, properties, false);
    if ( batchSize > 0 && debugEnabled ) {
      LOG.debugf( "JDBC batch updates for versioned data: %s", enabledDisabled(jdbcBatchVersionedData) );
    }
    settings.setJdbcBatchVersionedData(jdbcBatchVersionedData);

    boolean useScrollableResultSets = ConfigurationHelper.getBoolean(
        Environment.USE_SCROLLABLE_RESULTSET,
        properties,
        meta.supportsScrollableResults()
    );
    if ( debugEnabled ) {
      LOG.debugf( "Scrollable result sets: %s", enabledDisabled(useScrollableResultSets) );
    }
    settings.setScrollableResultSetsEnabled(useScrollableResultSets);

    boolean wrapResultSets = ConfigurationHelper.getBoolean(Environment.WRAP_RESULT_SETS, properties, false);
    if ( debugEnabled ) {
      LOG.debugf( "Wrap result sets: %s", enabledDisabled(wrapResultSets) );
    }
    settings.setWrapResultSetsEnabled(wrapResultSets);

    boolean useGetGeneratedKeys = ConfigurationHelper.getBoolean(Environment.USE_GET_GENERATED_KEYS, properties, meta.supportsGetGeneratedKeys());
    if ( debugEnabled ) {
      LOG.debugf( "JDBC3 getGeneratedKeys(): %s", enabledDisabled(useGetGeneratedKeys) );
    }
    settings.setGetGeneratedKeysEnabled(useGetGeneratedKeys);

    Integer statementFetchSize = ConfigurationHelper.getInteger(Environment.STATEMENT_FETCH_SIZE, properties);
    if ( statementFetchSize != null && debugEnabled ) {
      LOG.debugf( "JDBC result set fetch size: %s", statementFetchSize );
    }
    settings.setJdbcFetchSize(statementFetchSize);

    String releaseModeName = ConfigurationHelper.getString( Environment.RELEASE_CONNECTIONS, properties, "auto" );
    if ( debugEnabled ) {
      LOG.debugf( "Connection release mode: %s", releaseModeName );
    }
    ConnectionReleaseMode releaseMode;
    if ( "auto".equals(releaseModeName) ) {
      releaseMode = serviceRegistry.getService( TransactionFactory.class ).getDefaultReleaseMode();
    }
    else {
      releaseMode = ConnectionReleaseMode.parse( releaseModeName );
      if ( releaseMode == ConnectionReleaseMode.AFTER_STATEMENT &&
          ! jdbcServices.getConnectionProvider().supportsAggressiveRelease() ) {
        LOG.unsupportedAfterStatement();
        releaseMode = ConnectionReleaseMode.AFTER_TRANSACTION;
      }
    }
    settings.setConnectionReleaseMode( releaseMode );
View Full Code Here

Examples of org.hibernate.engine.jdbc.spi.JdbcServices

  public SchemaExport(MetadataImplementor metadata) {
    ServiceRegistry serviceRegistry = metadata.getServiceRegistry();
    this.connectionHelper = new SuppliedConnectionProviderConnectionHelper(
        serviceRegistry.getService( ConnectionProvider.class )
    );
        JdbcServices jdbcServices = serviceRegistry.getService( JdbcServices.class );
    this.sqlStatementLogger = jdbcServices.getSqlStatementLogger();
    this.formatter = ( sqlStatementLogger.isFormat() ? FormatStyle.DDL : FormatStyle.NONE ).getFormatter();
    this.sqlExceptionHelper = jdbcServices.getSqlExceptionHelper();

    this.importFiles = ConfigurationHelper.getString(
        AvailableSettings.HBM2DDL_IMPORT_FILES,
        serviceRegistry.getService( ConfigurationService.class ).getSettings(),
        DEFAULT_IMPORT_FILE
    );

    final Dialect dialect = jdbcServices.getDialect();
    this.dropSQL = metadata.getDatabase().generateDropSchemaScript( dialect );
    this.createSQL = metadata.getDatabase().generateSchemaCreationScript( dialect );
  }
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.