List of usage examples for org.hibernate.engine.jdbc.dialect.spi DialectResolver resolveDialect
Dialect resolveDialect(DialectResolutionInfo info);
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); });/* w w w. j a va 2 s . c o m*/ }
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// ww w . j av a2 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 ava2s . co 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/* www . j a va 2 s . c o 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 w ww . j a v a2s .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); }