Top Fields Constructors Methods
org.hibernate.engine.jdbc.env.internal

public Class JdbcEnvironmentImpl

extends Object
implements JdbcEnvironment
Class Inheritance
All Implemented Interfaces
org.hibernate.engine.jdbc.env.spi.JdbcEnvironment, org.hibernate.service.Service, java.io.Serializable
Imports
java.sql.DatabaseMetaData, .SQLException, org.hibernate.boot.model.naming.Identifier, org.hibernate.boot.registry.selector.spi.StrategySelector, org.hibernate.cfg.AvailableSettings, org.hibernate.dialect.Dialect, org.hibernate.engine.config.spi.ConfigurationService, .StandardConverters, org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess, .MultiTenantConnectionProvider, org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData, .IdentifierHelper, .IdentifierHelperBuilder, .JdbcEnvironment, .LobCreatorBuilder, .NameQualifierSupport, .QualifiedObjectNameFormatter, .SchemaNameResolver, org.hibernate.engine.jdbc.spi.SqlExceptionHelper, org.hibernate.exception.internal.SQLExceptionTypeDelegate, .SQLStateConversionDelegate, .StandardSQLExceptionConverter, org.hibernate.exception.spi.SQLExceptionConversionDelegate, org.hibernate.service.ServiceRegistry, org.hibernate.service.spi.ServiceRegistryImplementor, org.hibernate.sql.ast.SqlAstTranslatorFactory, org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory, org.jboss.logging.Logger

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final Identifier
private final Identifier
private final Dialect
private final ExtractedDatabaseMetaData
private final IdentifierHelper
private final LobCreatorBuilderImpl
private static final Logger
private final NameQualifierSupport
private final QualifiedObjectNameFormatter
public static final String
private final SqlAstTranslatorFactory
private final SqlExceptionHelper

Constructor Summary

AccessConstructor and Description
public
JdbcEnvironmentImpl(final ServiceRegistryImplementor
The service registry
serviceRegistry
,
final Dialect
The resolved dialect.
dialect
)

Constructor form used when the JDBC DatabaseMetaData is not available.

public
JdbcEnvironmentImpl(DatabaseMetaData databaseMetaData, Dialect dialect, JdbcConnectionAccess jdbcConnectionAccess)

Constructor form used from testing

public
JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect dialect, DatabaseMetaData databaseMetaData)

Deprecated currently used by Hibernate Reactive This version of the constructor should handle the case in which we do actually have the option to access the DatabaseMetaData, but since Hibernate Reactive is currently not making use of it we take a shortcut.
public
JdbcEnvironmentImpl(ServiceRegistryImplementor
The service registry
serviceRegistry
,
Dialect
The resolved dialect
dialect
,
DatabaseMetaData
The available DatabaseMetaData
databaseMetaData
,
JdbcConnectionAccess jdbcConnectionAccess)

The main constructor form.

Method Summary

Modifier and TypeMethod and Description
private static boolean
private SqlExceptionHelper
buildSqlExceptionHelper(Dialect dialect, boolean logWarnings)

private String
determineCurrentSchemaName(DatabaseMetaData databaseMetaData, ServiceRegistry serviceRegistry, Dialect dialect)

private NameQualifierSupport
public Identifier
public Identifier
public Dialect
getDialect()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect.

Get the dialect for this environment.
public ExtractedDatabaseMetaData
getExtractedDatabaseMetaData()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getExtractedDatabaseMetaData.

Access to the bits of information we pulled off the JDBC java.sql.DatabaseMetaData (that did not get "interpreted" into the helpers/delegates available here).
public IdentifierHelper
getIdentifierHelper()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper.

Obtain the helper for dealing with identifiers in this environment.
public LobCreatorBuilder
public NameQualifierSupport
getNameQualifierSupport()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getNameQualifierSupport.

Obtain the level of support for qualified names.
public QualifiedObjectNameFormatter
public SqlAstTranslatorFactory
public SqlExceptionHelper
private static boolean
private boolean
public static boolean
private static boolean
private static SqlAstTranslatorFactory
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentCatalogback to summary
private final Identifier currentCatalog
currentSchemaback to summary
private final Identifier currentSchema
dialectback to summary
private final Dialect dialect
extractedMetaDataSupportback to summary
private final ExtractedDatabaseMetaData extractedMetaDataSupport
identifierHelperback to summary
private final IdentifierHelper identifierHelper
lobCreatorBuilderback to summary
private final LobCreatorBuilderImpl lobCreatorBuilder
logback to summary
private static final Logger log
nameQualifierSupportback to summary
private final NameQualifierSupport nameQualifierSupport
qualifiedObjectNameFormatterback to summary
private final QualifiedObjectNameFormatter qualifiedObjectNameFormatter
SCHEMA_NAME_RESOLVERback to summary
public static final String SCHEMA_NAME_RESOLVER
sqlAstTranslatorFactoryback to summary
private final SqlAstTranslatorFactory sqlAstTranslatorFactory
sqlExceptionHelperback to summary
private final SqlExceptionHelper sqlExceptionHelper

Constructor Detail

JdbcEnvironmentImplback to summary
public JdbcEnvironmentImpl(final ServiceRegistryImplementor serviceRegistry, final Dialect dialect)

Constructor form used when the JDBC DatabaseMetaData is not available.

Parameters
serviceRegistry:ServiceRegistryImplementor

The service registry

dialect:Dialect

The resolved dialect.

JdbcEnvironmentImplback to summary
public JdbcEnvironmentImpl(DatabaseMetaData databaseMetaData, Dialect dialect, JdbcConnectionAccess jdbcConnectionAccess) throws SQLException

Constructor form used from testing

JdbcEnvironmentImplback to summary
public JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect dialect, DatabaseMetaData databaseMetaData) throws SQLException

Deprecated

currently used by Hibernate Reactive This version of the constructor should handle the case in which we do actually have the option to access the DatabaseMetaData, but since Hibernate Reactive is currently not making use of it we take a shortcut.

Annotations
@Deprecated
JdbcEnvironmentImplback to summary
public JdbcEnvironmentImpl(ServiceRegistryImplementor serviceRegistry, Dialect dialect, DatabaseMetaData databaseMetaData, JdbcConnectionAccess jdbcConnectionAccess) throws SQLException

The main constructor form. Builds a JdbcEnvironment using the available DatabaseMetaData

Parameters
serviceRegistry:ServiceRegistryImplementor

The service registry

dialect:Dialect

The resolved dialect

databaseMetaData:DatabaseMetaData

The available DatabaseMetaData

Method Detail

autoKeywordQuotingback to summary
private static boolean autoKeywordQuoting(ConfigurationService cfgService)
buildSqlExceptionHelperback to summary
private SqlExceptionHelper buildSqlExceptionHelper(Dialect dialect, boolean logWarnings)
determineCurrentSchemaNameback to summary
private String determineCurrentSchemaName(DatabaseMetaData databaseMetaData, ServiceRegistry serviceRegistry, Dialect dialect)
determineNameQualifierSupportback to summary
private NameQualifierSupport determineNameQualifierSupport(DatabaseMetaData databaseMetaData) throws SQLException
getCurrentCatalogback to summary
public Identifier getCurrentCatalog()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getCurrentCatalog.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getCurrentCatalog.

Get the current database catalog. Typically will come from either java.sql.Connection#getCatalog() or hibernate.default_catalog.

Returns:Identifier

The current catalog.

Annotations
@Override
getCurrentSchemaback to summary
public Identifier getCurrentSchema()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getCurrentSchema.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getCurrentSchema.

Get the current database catalog. Typically will come from either SchemaNameResolver#resolveSchemaName(java.sql.Connection, Dialect) or hibernate.default_catalog.

Returns:Identifier

The current schema

Annotations
@Override
getDialectback to summary
public Dialect getDialect()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect.

Get the dialect for this environment.

Returns:Dialect

The dialect.

Annotations
@Override
getExtractedDatabaseMetaDataback to summary
public ExtractedDatabaseMetaData getExtractedDatabaseMetaData()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getExtractedDatabaseMetaData.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getExtractedDatabaseMetaData.

Access to the bits of information we pulled off the JDBC java.sql.DatabaseMetaData (that did not get "interpreted" into the helpers/delegates available here).

Returns:ExtractedDatabaseMetaData

The values extracted from JDBC DatabaseMetaData

Annotations
@Override
getIdentifierHelperback to summary
public IdentifierHelper getIdentifierHelper()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper.

Obtain the helper for dealing with identifiers in this environment.

Note that the Identifiers returned from this IdentifierHelper already account for auto-quoting :) yaay!

Returns:IdentifierHelper

The identifier helper.

Annotations
@Override
getLobCreatorBuilderback to summary
public LobCreatorBuilder getLobCreatorBuilder()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getLobCreatorBuilder.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getLobCreatorBuilder.

Retrieve the delegate for building org.hibernate.engine.jdbc.LobCreator instances.

Returns:LobCreatorBuilder

The LobCreator builder.

Annotations
@Override
getNameQualifierSupportback to summary
public NameQualifierSupport getNameQualifierSupport()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getNameQualifierSupport.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getNameQualifierSupport.

Obtain the level of support for qualified names.

Returns:NameQualifierSupport

The NameQualifierSupport.

Annotations
@Override
getQualifiedObjectNameFormatterback to summary
public QualifiedObjectNameFormatter getQualifiedObjectNameFormatter()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter.

Obtain support for formatting qualified object names.

Returns:QualifiedObjectNameFormatter

Qualified name support.

Annotations
@Override
getSqlAstTranslatorFactoryback to summary
public SqlAstTranslatorFactory getSqlAstTranslatorFactory()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getSqlAstTranslatorFactory.

Annotations
@Override
getSqlExceptionHelperback to summary
public SqlExceptionHelper getSqlExceptionHelper()

Implements org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getSqlExceptionHelper.

Doc from org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getSqlExceptionHelper.

Obtain the helper for dealing with JDBC java.sql.SQLException faults.

Returns:SqlExceptionHelper

This environment's helper.

Annotations
@Override
globalQuotingback to summary
private static boolean globalQuoting(ConfigurationService cfgService)
globalQuotingSkippedForColumnDefinitionsback to summary
private boolean globalQuotingSkippedForColumnDefinitions(ConfigurationService cfgService)
isMultiTenancyEnabledback to summary
public static boolean isMultiTenancyEnabled(ServiceRegistry serviceRegistry)
logWarningsback to summary
private static boolean logWarnings(ConfigurationService cfgService, Dialect dialect)
resolveSqlAstTranslatorFactoryback to summary
private static SqlAstTranslatorFactory resolveSqlAstTranslatorFactory(Dialect dialect)