Example usage for org.hibernate.engine.jdbc.dialect.internal StandardDialectResolver StandardDialectResolver

List of usage examples for org.hibernate.engine.jdbc.dialect.internal StandardDialectResolver StandardDialectResolver

Introduction

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

Prototype

StandardDialectResolver

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);
    });/* ww  w  . j  a va2  s.c o m*/
}

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

License:Apache License

public DialectDetector(DataSource dataSource) {
    this.dataSource = dataSource;
    this.dialectResolver = new StandardDialectResolver();
}

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

License:Apache License

protected DialectFactory createDialectFactory() {
    DialectFactoryImpl factory = new DialectFactoryImpl();
    factory.injectServices(new ServiceRegistryImplementor() {

        @Override//from   w ww .  jav a2 s  . c o  m
        public <R extends Service> R getService(Class<R> serviceRole) {
            if (serviceRole == DialectResolver.class) {
                return (R) new StandardDialectResolver();
            } else if (serviceRole == StrategySelector.class) {
                return (R) new StrategySelectorImpl(
                        new ClassLoaderServiceImpl(Thread.currentThread().getContextClassLoader()));
            }
            return null;
        }

        @Override
        public <R extends Service> ServiceBinding<R> locateServiceBinding(Class<R> serviceRole) {
            return null;
        }

        @Override
        public void destroy() {

        }

        @Override
        public void registerChild(ServiceRegistryImplementor child) {
        }

        @Override
        public void deRegisterChild(ServiceRegistryImplementor child) {
        }

        @Override
        public ServiceRegistry getParentServiceRegistry() {
            return null;
        }
    });
    return factory;
}

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

License:Open Source License

@Override
public Long getNextID(final String sequenceName) {

    ReturningWork<Long> maxReturningWork = new ReturningWork<Long>() {
        @Override//from w  w w. jav  a 2  s .  c o  m
        public Long execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(dialect.getSequenceNextValString(sequenceName));
                resultSet = preparedStatement.executeQuery();
                resultSet.next();
                return resultSet.getLong(1);
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();

    Long maxRecord = sessionFactory.getCurrentSession().doReturningWork(maxReturningWork);
    return maxRecord;
}

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

License:Open Source License

@Override
public void createSequence(final String sequenceName) {

    if (sequenceExists(sequenceName)) {
        return;/* w  w w.  j a va  2s  .  c  o  m*/
    }
    Work work = new Work() {
        @Override
        public void execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection
                        .prepareStatement(dialect.getCreateSequenceStrings(sequenceName, 1, 1)[0]);
                preparedStatement.execute();
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    sessionFactory.getCurrentSession().doWork(work);
}

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

License:Open Source License

@Override
public boolean sequenceExists(final String sequenceName) {
    ReturningWork<Boolean> work = new ReturningWork<Boolean>() {
        @Override//from  w w  w.  ja  v  a2  s  . co m
        public Boolean execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection.prepareStatement(dialect.getQuerySequencesString());
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    if (sequenceName.equals(resultSet.getString(1))) {
                        return true;
                    }
                }
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }
            return false;

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    return sessionFactory.getCurrentSession().doReturningWork(work);
}

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

License:Open Source License

@Override
public void dropSequence(final String sequenceName) {

    Work work = new Work() {
        @Override//from www .  ja va2 s  .  c  o  m
        public void execute(Connection connection) throws SQLException {
            DialectResolver dialectResolver = new StandardDialectResolver();
            Dialect dialect = dialectResolver.resolveDialect(getResolutionInfo(connection));
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                preparedStatement = connection
                        .prepareStatement(dialect.getDropSequenceStrings(sequenceName)[0]);
                preparedStatement.execute();
            } catch (SQLException e) {
                throw e;
            } finally {
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (resultSet != null) {
                    resultSet.close();
                }
            }

        }
    };

    Session session = (Session) entityManager.getDelegate();
    SessionFactory sessionFactory = session.getSessionFactory();
    sessionFactory.getCurrentSession().doWork(work);
}