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, org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData, .IdentifierHelper, .IdentifierHelperBuilder, .JdbcEnvironment, .LobCreatorBuilder, .NameQualifierSupport, .QualifiedObjectNameFormatter, .SchemaNameResolver, org.hibernate.engine.jdbc.spi.SqlExceptionHelper, .TypeInfo, org.hibernate.exception.internal.SQLExceptionTypeDelegate, .SQLStateConversionDelegate, .StandardSQLExceptionConverter, org.hibernate.service.ServiceRegistry, org.hibernate.service.spi.ServiceRegistryImplementor, 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 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 java.sql.DatabaseMetaData is not available.

public
JdbcEnvironmentImpl(DatabaseMetaData databaseMetaData, Dialect
The 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 SqlExceptionHelper
private static boolean
private boolean
private static boolean
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
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 java.sql.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

Parameters
dialect:Dialect

The dialect

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)
Annotations
@SuppressWarnings:deprecation
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 org.hibernate.cfg.AvailableSettings#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, org.hibernate.dialect.Dialect) or org.hibernate.cfg.AvailableSettings#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
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)
logWarningsback to summary
private static boolean logWarnings(ConfigurationService cfgService, Dialect dialect)