Example usage for org.hibernate.engine.jdbc.dialect.spi DatabaseMetaDataDialectResolutionInfoAdapter DatabaseMetaDataDialectResolutionInfoAdapter

List of usage examples for org.hibernate.engine.jdbc.dialect.spi DatabaseMetaDataDialectResolutionInfoAdapter DatabaseMetaDataDialectResolutionInfoAdapter

Introduction

In this page you can find the example usage for org.hibernate.engine.jdbc.dialect.spi DatabaseMetaDataDialectResolutionInfoAdapter DatabaseMetaDataDialectResolutionInfoAdapter.

Prototype

public DatabaseMetaDataDialectResolutionInfoAdapter(DatabaseMetaData databaseMetaData) 

Source Link

Usage

From source file:de.richtercloud.reflection.form.builder.jpa.sequence.HibernateWrapperSequenceManager.java

License:Open Source License

private <T> T doHibernateSQLTask(HibernateSQLTask<T> task) throws SequenceManagementException {
    return doSQLTask((connection) -> {
        DialectResolver dialectResolver = new StandardDialectResolver();
        DialectResolutionInfo dialectResolutionInfo = new DatabaseMetaDataDialectResolutionInfoAdapter(
                connection.getMetaData());
        Dialect dialect = dialectResolver.resolveDialect(dialectResolutionInfo);
        return task.run(dialect, connection);
    });//from ww w  .j  a  v a 2  s. c  o m
}

From source file:org.codehaus.griffon.runtime.hibernate4.internal.DialectDetector.java

License:Apache License

public String getDialect() {
    Connection connection = null;

    try {//  ww w  . j a  v  a 2  s. com
        String dbName = (String) JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName");
        connection = dataSource.getConnection();

        DialectResolutionInfo dialectResolutionInfo = new DatabaseMetaDataDialectResolutionInfoAdapter(
                connection.getMetaData());
        Dialect hibernateDialect = dialectResolver.resolveDialect(dialectResolutionInfo);
        String hibernateDialectClassName = hibernateDialect.getClass().getName();

        if (GriffonNameUtils.isBlank(hibernateDialectClassName)) {
            throw new DatabaseException(
                    "Could not determine Hibernate dialect for database name [" + dbName + "]!");
        }

        return hibernateDialectClassName;
    } catch (SQLException e) {
        throw new DatabaseException(e);
    } finally {
        JdbcUtils.closeConnection(connection);
    }
}

From source file:org.grails.orm.hibernate.support.HibernateDialectDetectorFactoryBean.java

License:Apache License

public void afterPropertiesSet() throws MetaDataAccessException {
    Assert.notNull(dataSource, "Data source is not set!");
    Assert.notNull(vendorNameDialectMappings, "Vendor name/dialect mappings are not set!");

    Connection connection = null;

    String dbName = (String) JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName");

    try {//  ww  w .j ava2s. c o m
        connection = DataSourceUtils.getConnection(dataSource);

        try {
            final DialectFactory dialectFactory = createDialectFactory();
            final Connection finalConnection = connection;
            DialectResolutionInfoSource infoSource = new DialectResolutionInfoSource() {
                @Override
                public DialectResolutionInfo getDialectResolutionInfo() {
                    try {
                        return new DatabaseMetaDataDialectResolutionInfoAdapter(finalConnection.getMetaData());
                    } catch (SQLException e) {
                        throw new CouldNotDetermineHibernateDialectException(
                                "Could not determine Hibernate dialect", e);
                    }
                }
            };
            hibernateDialect = dialectFactory.buildDialect(hibernateProperties, infoSource);
            hibernateDialectClassName = hibernateDialect.getClass().getName();
        } catch (HibernateException e) {
            hibernateDialectClassName = vendorNameDialectMappings.getProperty(dbName);
        }

        if (!StringUtils.hasText(hibernateDialectClassName)) {
            throw new CouldNotDetermineHibernateDialectException(
                    "Could not determine Hibernate dialect for database name [" + dbName + "]!");
        }
    } finally {
        DataSourceUtils.releaseConnection(connection, dataSource);
    }
}

From source file:org.jboss.pnc.datastore.repositories.DefaultSequenceHandlerRepository.java

License:Open Source License

public DatabaseMetaDataDialectResolutionInfoAdapter getResolutionInfo(Connection connection)
        throws SQLException {
    return new DatabaseMetaDataDialectResolutionInfoAdapter(connection.getMetaData());
}