org.hibernate.cfg.JDBCReaderFactory Maven / Gradle / Ivy
package org.hibernate.cfg;
import java.util.Properties;
import org.hibernate.cfg.reveng.JDBCReader;
import org.hibernate.cfg.reveng.ReverseEngineeringStrategy;
import org.hibernate.cfg.reveng.dialect.MetaDataDialect;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.engine.jdbc.spi.JdbcServices;
import org.hibernate.exception.spi.SQLExceptionConverter;
import org.hibernate.service.ServiceRegistry;
final public class JDBCReaderFactory {
public static JDBCReader newJDBCReader(
Properties properties,
ReverseEngineeringStrategy revengStrategy,
ServiceRegistry serviceRegistry) {
MetaDataDialect mdd = MetaDataDialectFactory
.createMetaDataDialect(
serviceRegistry.getService(JdbcServices.class).getDialect(),
properties );
return newJDBCReader(properties, revengStrategy, mdd, serviceRegistry);
}
public static JDBCReader newJDBCReader(
Properties properties,
ReverseEngineeringStrategy revengStrategy,
MetaDataDialect mdd,
ServiceRegistry serviceRegistry) {
SQLExceptionConverter sqlExceptionConverter = serviceRegistry
.getService(JdbcServices.class)
.getSqlExceptionHelper()
.getSqlExceptionConverter();
ConnectionProvider connectionProvider = serviceRegistry
.getService(ConnectionProvider.class);
String defaultCatalogName = properties
.getProperty(AvailableSettings.DEFAULT_CATALOG);
String defaultSchemaName = properties
.getProperty(AvailableSettings.DEFAULT_SCHEMA);
return new JDBCReader(
mdd,
connectionProvider,
sqlExceptionConverter,
defaultCatalogName,
defaultSchemaName,
revengStrategy );
}
}