Package org.hibernate.cfg
Class Environment
- java.lang.Object
-
- org.hibernate.cfg.Environment
-
- All Implemented Interfaces:
AvailableSettings
@Internal public final class Environment extends Object implements AvailableSettings
Provides access to configuration properties passed inProperties
objects.Hibernate has two property scopes:
- Factory-level properties are specified when a
SessionFactory
is configured and instantiated. Each instance might have different property values. - System-level properties are shared by all factory instances and are
always determined by the
Environment
properties ingetProperties()
.
The only system-level property is "hibernate.bytecode.use_reflection_optimizer", and it's deprecated.
Environment
properties are populated by callingSystem.getProperties()
and then from a resource named/hibernate.properties
, if it exists. System properties override properties specified inhibernate.properties
.The
SessionFactory
obtains properties from:system properties
,- properties defined in a resource named
/hibernate.properties
, and - any instance of
Properties
passed toConfiguration.addProperties(java.util.Properties)
.
Configuration properties Property Interpretation "hibernate.dialect" name of Dialect
subclass"hibernate.connection.provider_class" name of a ConnectionProvider
subclass (if not specified heuristics are used)"hibernate.connection.username" database username "hibernate.connection.password" database password "hibernate.connection.url" JDBC URL (when using DriverManager
)"hibernate.connection.driver_class" classname of JDBC driver "hibernate.connection.isolation" JDBC transaction isolation level (only when using DriverManager
)"hibernate.connection.pool_size" the maximum size of the connection pool (only when using DriverManager
)"hibernate.connection.datasource" datasource JNDI name (when using DataSource
)"hibernate.jndi.url" JNDI InitialContext
URL"hibernate.jndi.class" JNDI InitialContext
class name"hibernate.max_fetch_depth" maximum depth of outer join fetching "hibernate.jdbc.batch_size" enable use of JDBC2 batch API for drivers which support it "hibernate.jdbc.fetch_size" set the JDBC fetch size "hibernate.jdbc.use_get_generated_keys" enable use of JDBC3 Statement.getGeneratedKeys()
to retrieve natively generated keys after insert. Requires JDBC3+ driver and JRE1.4+"hibernate.hbm2ddl.auto" enable auto DDL export "hibernate.default_schema" use given schema name for unqualified tables (always optional) "hibernate.default_catalog" use given catalog name for unqualified tables (always optional) "hibernate.transaction.jta.platform" name of JtaPlatform
implementation- See Also:
SessionFactory
- API Note:
- This is really considered an internal contract, but leaving in place in this
package as many applications use it historically. However, consider migrating to use
AvailableSettings
instead.
-
-
Field Summary
Fields Modifier and Type Field Description static String
BYTECODE_PROVIDER_NAME_BYTEBUDDY
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_BYTEBUDDY
, however note that that's an internal contract: a different BytecodeProvider Initiator might ignore these constants or interpret them differently.static String
BYTECODE_PROVIDER_NAME_DEFAULT
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_DEFAULT
however note that that's an internal contract: a different BytecodeProvider Initiator might apply a different default.static String
BYTECODE_PROVIDER_NAME_NONE
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_NONE
, however note that that's an internal contract: a different BytecodeProvider Initiator might ignore these constants or interpret them differently.-
Fields inherited from interface org.hibernate.cfg.AvailableSettings
ALLOW_EXTENSIONS_IN_CDI, ALLOW_JTA_TRANSACTION_ACCESS, ALLOW_REFRESH_DETACHED_ENTITY, ALLOW_UPDATE_OUTSIDE_TRANSACTION, ARTIFACT_PROCESSING_ORDER, AUTO_CLOSE_SESSION, AUTO_EVICT_COLLECTION_CACHE, AUTO_SESSION_EVENTS_LISTENER, AUTOCOMMIT, BATCH_FETCH_STYLE, BATCH_STRATEGY, BATCH_VERSIONED_DATA, BEAN_CONTAINER, BULK_ID_STRATEGY_GLOBAL_TEMPORARY_CREATE_TABLES, BULK_ID_STRATEGY_GLOBAL_TEMPORARY_DROP_TABLES, BULK_ID_STRATEGY_LOCAL_TEMPORARY_DROP_TABLES, BULK_ID_STRATEGY_PERSISTENT_TEMPORARY_CREATE_TABLES, BULK_ID_STRATEGY_PERSISTENT_TEMPORARY_DROP_TABLES, BYTECODE_PROVIDER, C3P0_ACQUIRE_INCREMENT, C3P0_CONFIG_PREFIX, C3P0_IDLE_TEST_PERIOD, C3P0_MAX_SIZE, C3P0_MAX_STATEMENTS, C3P0_MIN_SIZE, C3P0_TIMEOUT, CACHE_KEYS_FACTORY, CACHE_REGION_FACTORY, CACHE_REGION_PREFIX, CALLABLE_NAMED_PARAMS_ENABLED, CDI_BEAN_MANAGER, CFG_XML_FILE, CHECK_NULLABILITY, CLASS_CACHE_PREFIX, CLASSLOADERS, COLLECTION_CACHE_PREFIX, COLUMN_ORDERING_STRATEGY, CONNECTION_HANDLING, CONNECTION_PREFIX, CONNECTION_PROVIDER, CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT, CREATE_EMPTY_COMPOSITES_ENABLED, CRITERIA_COPY_TREE, CRITERIA_VALUE_HANDLING_MODE, CURRENT_SESSION_CONTEXT_CLASS, CUSTOM_ENTITY_DIRTINESS_STRATEGY, DATASOURCE, DEFAULT_BATCH_FETCH_SIZE, DEFAULT_CACHE_CONCURRENCY_STRATEGY, DEFAULT_CATALOG, DEFAULT_LIST_SEMANTICS, DEFAULT_NULL_ORDERING, DEFAULT_SCHEMA, DELAY_CDI_ACCESS, DELAY_ENTITY_LOADER_CREATIONS, DIALECT, DIALECT_DB_MAJOR_VERSION, DIALECT_DB_MINOR_VERSION, DIALECT_DB_NAME, DIALECT_DB_VERSION, DIALECT_NATIVE_PARAM_MARKERS, DIALECT_RESOLVERS, DISCARD_PC_ON_CLOSE, DRIVER, ENABLE_LAZY_LOAD_NO_TRANS, ENABLE_SYNONYMS, ENHANCER_ENABLE_ASSOCIATION_MANAGEMENT, ENHANCER_ENABLE_DIRTY_TRACKING, ENHANCER_ENABLE_LAZY_INITIALIZATION, EVENT_LISTENER_PREFIX, EXTRA_PHYSICAL_TABLE_TYPES, FAIL_ON_PAGINATION_OVER_COLLECTION_FETCH, FLUSH_BEFORE_COMPLETION, FLUSH_MODE, FORCE_DISCRIMINATOR_IN_SELECTS_BY_DEFAULT, FORMAT_SQL, GENERATE_STATISTICS, GLOBALLY_QUOTED_IDENTIFIERS, GLOBALLY_QUOTED_IDENTIFIERS_SKIP_COLUMN_DEFINITIONS, HBM_XML_FILES, HBM2DDL_AUTO, HBM2DDL_CHARSET_NAME, HBM2DDL_CONNECTION, HBM2DDL_CREATE_NAMESPACES, HBM2DDL_CREATE_SCHEMAS, HBM2DDL_CREATE_SCRIPT_SOURCE, HBM2DDL_CREATE_SOURCE, HBM2DDL_DATABASE_ACTION, HBM2DDL_DEFAULT_CONSTRAINT_MODE, HBM2DDL_DELIMITER, HBM2DDL_DROP_SCRIPT_SOURCE, HBM2DDL_DROP_SOURCE, HBM2DDL_FILTER_PROVIDER, HBM2DDL_HALT_ON_ERROR, HBM2DDL_IMPORT_FILES, HBM2DDL_IMPORT_FILES_SQL_EXTRACTOR, HBM2DDL_JDBC_METADATA_EXTRACTOR_STRATEGY, HBM2DDL_LOAD_SCRIPT_SOURCE, HBM2DDL_SCRIPTS_ACTION, HBM2DDL_SCRIPTS_CREATE_APPEND, HBM2DDL_SCRIPTS_CREATE_TARGET, HBM2DDL_SCRIPTS_DROP_TARGET, HIGHLIGHT_SQL, ID_DB_STRUCTURE_NAMING_STRATEGY, IDENTIFIER_GENERATOR_STRATEGY_PROVIDER, IGNORE_EXPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS, IMMUTABLE_ENTITY_UPDATE_QUERY_HANDLING_MODE, IMPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS, IMPLICIT_NAMING_STRATEGY, IN_CLAUSE_PARAMETER_PADDING, INTERCEPTOR, ISOLATION, JAKARTA_CDI_BEAN_MANAGER, JAKARTA_HBM2DDL_CONNECTION, JAKARTA_HBM2DDL_CREATE_SCHEMAS, JAKARTA_HBM2DDL_CREATE_SCRIPT_SOURCE, JAKARTA_HBM2DDL_CREATE_SOURCE, JAKARTA_HBM2DDL_DATABASE_ACTION, JAKARTA_HBM2DDL_DB_MAJOR_VERSION, JAKARTA_HBM2DDL_DB_MINOR_VERSION, JAKARTA_HBM2DDL_DB_NAME, JAKARTA_HBM2DDL_DB_VERSION, JAKARTA_HBM2DDL_DROP_SCRIPT_SOURCE, JAKARTA_HBM2DDL_DROP_SOURCE, JAKARTA_HBM2DDL_LOAD_SCRIPT_SOURCE, JAKARTA_HBM2DDL_SCRIPTS_ACTION, JAKARTA_HBM2DDL_SCRIPTS_CREATE_TARGET, JAKARTA_HBM2DDL_SCRIPTS_DROP_TARGET, JAKARTA_JDBC_DRIVER, JAKARTA_JDBC_PASSWORD, JAKARTA_JDBC_URL, JAKARTA_JDBC_USER, JAKARTA_JTA_DATASOURCE, JAKARTA_LOCK_SCOPE, JAKARTA_LOCK_TIMEOUT, JAKARTA_NON_JTA_DATASOURCE, JAKARTA_PERSIST_VALIDATION_GROUP, JAKARTA_PERSISTENCE_PROVIDER, JAKARTA_REMOVE_VALIDATION_GROUP, JAKARTA_SHARED_CACHE_MODE, JAKARTA_SHARED_CACHE_RETRIEVE_MODE, JAKARTA_SHARED_CACHE_STORE_MODE, JAKARTA_TRANSACTION_TYPE, JAKARTA_UPDATE_VALIDATION_GROUP, JAKARTA_VALIDATION_FACTORY, JAKARTA_VALIDATION_MODE, JDBC_TIME_ZONE, JNDI_CLASS, JNDI_PREFIX, JNDI_URL, JPA_CACHING_COMPLIANCE, JPA_CALLBACKS_ENABLED, JPA_CLOSED_COMPLIANCE, JPA_COMPLIANCE, JPA_ID_GENERATOR_GLOBAL_SCOPE_COMPLIANCE, JPA_JDBC_DRIVER, JPA_JDBC_PASSWORD, JPA_JDBC_URL, JPA_JDBC_USER, JPA_JTA_DATASOURCE, JPA_LIST_COMPLIANCE, JPA_LOAD_BY_ID_COMPLIANCE, JPA_LOCK_SCOPE, JPA_LOCK_TIMEOUT, JPA_METAMODEL_POPULATION, JPA_NON_JTA_DATASOURCE, JPA_ORDER_BY_MAPPING_COMPLIANCE, JPA_PERSIST_VALIDATION_GROUP, JPA_PERSISTENCE_PROVIDER, JPA_PROXY_COMPLIANCE, JPA_QUERY_COMPLIANCE, JPA_REMOVE_VALIDATION_GROUP, JPA_SHARED_CACHE_MODE, JPA_SHARED_CACHE_RETRIEVE_MODE, JPA_SHARED_CACHE_STORE_MODE, JPA_TRANSACTION_COMPLIANCE, JPA_TRANSACTION_TYPE, JPA_UPDATE_VALIDATION_GROUP, JPA_VALIDATION_FACTORY, JPA_VALIDATION_MODE, JPAQL_STRICT_COMPLIANCE, JSON_FORMAT_MAPPER, JTA_CACHE_TM, JTA_CACHE_UT, JTA_PLATFORM, JTA_PLATFORM_RESOLVER, JTA_TRACK_BY_THREAD, KEYWORD_AUTO_QUOTING_ENABLED, LOADED_CLASSES, LOG_JDBC_WARNINGS, LOG_SESSION_METRICS, LOG_SLOW_QUERY, MAX_FETCH_DEPTH, MERGE_ENTITY_COPY_OBSERVER, MULTI_TENANT_CONNECTION_PROVIDER, MULTI_TENANT_IDENTIFIER_RESOLVER, NON_CONTEXTUAL_LOB_CREATION, ORDER_INSERTS, ORDER_UPDATES, ORM_XML_FILES, PASS, PERSISTENCE_UNIT_NAME, PHYSICAL_NAMING_STRATEGY, POOL_SIZE, PREFER_USER_TRANSACTION, PREFERRED_BOOLEAN_JDBC_TYPE, PREFERRED_DURATION_JDBC_TYPE, PREFERRED_INSTANT_JDBC_TYPE, PREFERRED_POOLED_OPTIMIZER, PREFERRED_UUID_JDBC_TYPE, PROXOOL_CONFIG_PREFIX, PROXOOL_EXISTING_POOL, PROXOOL_POOL_ALIAS, PROXOOL_PROPERTIES, PROXOOL_XML, QUERY_CACHE_FACTORY, QUERY_MULTI_TABLE_INSERT_STRATEGY, QUERY_MULTI_TABLE_MUTATION_STRATEGY, QUERY_PLAN_CACHE_ENABLED, QUERY_PLAN_CACHE_MAX_SIZE, QUERY_PLAN_CACHE_PARAMETER_METADATA_MAX_SIZE, QUERY_STARTUP_CHECKING, QUERY_STATISTICS_MAX_SIZE, SCANNER, SCANNER_ARCHIVE_INTERPRETER, SCANNER_DISCOVERY, SCHEMA_MANAGEMENT_TOOL, SEMANTIC_QUERY_PRODUCER, SEMANTIC_QUERY_TRANSLATOR, SEQUENCE_INCREMENT_SIZE_MISMATCH_STRATEGY, SESSION_FACTORY_NAME, SESSION_FACTORY_NAME_IS_JNDI, SESSION_FACTORY_OBSERVER, SESSION_SCOPED_INTERCEPTOR, SHOW_SQL, STATEMENT_BATCH_SIZE, STATEMENT_FETCH_SIZE, STATEMENT_INSPECTOR, STATIC_METAMODEL_POPULATION, STORAGE_ENGINE, TABLE_GENERATOR_STORE_LAST_USED, TC_CLASSLOADER, TIMEZONE_DEFAULT_STORAGE, TRANSACTION_COORDINATOR_STRATEGY, TRANSFORM_HBM_XML, TRANSFORM_HBM_XML_FEATURE_HANDLING, UNIQUE_CONSTRAINT_SCHEMA_UPDATE_STRATEGY, URL, USE_DIRECT_REFERENCE_CACHE_ENTRIES, USE_ENTITY_WHERE_CLAUSE_FOR_COLLECTIONS, USE_GET_GENERATED_KEYS, USE_IDENTIFIER_ROLLBACK, USE_MINIMAL_PUTS, USE_NATIONALIZED_CHARACTER_DATA, USE_QUERY_CACHE, USE_REFLECTION_OPTIMIZER, USE_SCROLLABLE_RESULTSET, USE_SECOND_LEVEL_CACHE, USE_SQL_COMMENTS, USE_STRUCTURED_CACHE, USER, VALIDATE_XML, WRAPPER_ARRAY_HANDLING, XML_FORMAT_MAPPER, XML_MAPPING_ENABLED
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static BytecodeProvider
buildBytecodeProvider(Properties properties)
Deprecated, for removal: This API element is subject to removal in a future version.this will be removed; retrieval of the BytecodeProvider should be performed via theServiceRegistry
.static Properties
getProperties()
Thesystem properties
, extended with all additional properties specified inhibernate.properties
.static boolean
useReflectionOptimizer()
Deprecated.Deprecated to indicate that the method will be moved toSessionFactoryOptions
/SessionFactoryBuilder
.
-
-
-
Field Detail
-
BYTECODE_PROVIDER_NAME_BYTEBUDDY
@Deprecated(forRemoval=true) public static final String BYTECODE_PROVIDER_NAME_BYTEBUDDY
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_BYTEBUDDY
, however note that that's an internal contract: a different BytecodeProvider Initiator might ignore these constants or interpret them differently.- See Also:
- Constant Field Values
-
BYTECODE_PROVIDER_NAME_NONE
@Deprecated(forRemoval=true) public static final String BYTECODE_PROVIDER_NAME_NONE
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_NONE
, however note that that's an internal contract: a different BytecodeProvider Initiator might ignore these constants or interpret them differently.- See Also:
- Constant Field Values
-
BYTECODE_PROVIDER_NAME_DEFAULT
@Deprecated(forRemoval=true) public static final String BYTECODE_PROVIDER_NAME_DEFAULT
Deprecated, for removal: This API element is subject to removal in a future version.Replaced byorg.hibernate.bytecode.internal.BytecodeProviderInitiator#BYTECODE_PROVIDER_NAME_DEFAULT
however note that that's an internal contract: a different BytecodeProvider Initiator might apply a different default.- See Also:
- Constant Field Values
-
-
Method Detail
-
useReflectionOptimizer
@Deprecated public static boolean useReflectionOptimizer()
Deprecated.Deprecated to indicate that the method will be moved toSessionFactoryOptions
/SessionFactoryBuilder
. See HHH-12194 and HHH-12193 for detailsShould we use reflection optimization?- Returns:
- True if reflection optimization should be used; false otherwise.
- See Also:
AvailableSettings.USE_REFLECTION_OPTIMIZER
,BytecodeProvider.getReflectionOptimizer(java.lang.Class, java.lang.String[], java.lang.String[], java.lang.Class[])
-
getProperties
public static Properties getProperties()
Thesystem properties
, extended with all additional properties specified inhibernate.properties
.
-
buildBytecodeProvider
@Deprecated(forRemoval=true) public static BytecodeProvider buildBytecodeProvider(Properties properties)
Deprecated, for removal: This API element is subject to removal in a future version.this will be removed; retrieval of the BytecodeProvider should be performed via theServiceRegistry
.
-
-