Package org.hibernate.cfg
Class Environment
java.lang.Object
org.hibernate.cfg.Environment
- All Implemented Interfaces:
AgroalSettings,AvailableSettings,BatchSettings,BytecodeSettings,C3p0Settings,CacheSettings,EnvironmentSettings,FetchSettings,HikariCPSettings,JdbcSettings,JpaComplianceSettings,ManagedBeanSettings,MappingSettings,MultiTenancySettings,PersistenceSettings,QuerySettings,SchemaToolingSettings,SessionEventSettings,StatisticsSettings,TransactionSettings,ValidationSettings
Provides access to configuration properties passed in
Properties objects.
Hibernate has two property scopes:
- Factory-level properties are specified when a
SessionFactoryis 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
Environmentproperties ingetProperties().
Environment properties are populated by calling System.getProperties()
and then from a resource named /hibernate.properties, if it exists. System
properties override properties specified in hibernate.properties.
The SessionFactory obtains properties from:
system properties,- properties defined in a resource named
/hibernate.properties, and - any instance of
Propertiespassed toConfiguration.addProperties(java.util.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:
- 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
AvailableSettingsinstead.
-
Field Summary
Fields inherited from interface org.hibernate.cfg.AgroalSettings
AGROAL_ACQUISITION_TIMEOUT, AGROAL_CONFIG_PREFIX, AGROAL_FLUSH_ON_CLOSE, AGROAL_IDLE_TIMEOUT, AGROAL_IDLE_VALIDATION_TIMEOUT, AGROAL_INITIAL_SIZE, AGROAL_INITIAL_SQL, AGROAL_LEAK_TIMEOUT, AGROAL_MAX_LIFETIME, AGROAL_MAX_SIZE, AGROAL_MIN_SIZE, AGROAL_VALIDATE_ON_BORROW, AGROAL_VALIDATION_TIMEOUTFields inherited from interface org.hibernate.cfg.AvailableSettings
CFG_XML_FILE, CURRENT_SESSION_CONTEXT_CLASS, CUSTOM_ENTITY_DIRTINESS_STRATEGY, DELAY_ENTITY_LOADER_CREATIONS, DISCARD_PC_ON_CLOSE, EVENT_LISTENER_PREFIX, HBM_XML_FILES, JAKARTA_LOCK_SCOPE, JAKARTA_LOCK_TIMEOUT, JPA_LOCK_SCOPE, JPA_LOCK_TIMEOUT, LOADED_CLASSES, MERGE_ENTITY_COPY_OBSERVER, ORM_XML_FILES, USE_IDENTIFIER_ROLLBACKFields inherited from interface org.hibernate.cfg.BatchSettings
BATCH_STRATEGY, BUILDER, ORDER_INSERTS, ORDER_UPDATES, STATEMENT_BATCH_SIZEFields inherited from interface org.hibernate.cfg.BytecodeSettings
BYTECODE_PROVIDER, BYTECODE_PROVIDER_INSTANCE, ENHANCER_ENABLE_ASSOCIATION_MANAGEMENT, ENHANCER_ENABLE_DIRTY_TRACKING, ENHANCER_ENABLE_LAZY_INITIALIZATIONFields inherited from interface org.hibernate.cfg.C3p0Settings
C3P0_ACQUIRE_INCREMENT, C3P0_CONFIG_PREFIX, C3P0_IDLE_TEST_PERIOD, C3P0_MAX_SIZE, C3P0_MAX_STATEMENTS, C3P0_MIN_SIZE, C3P0_TIMEOUTFields inherited from interface org.hibernate.cfg.CacheSettings
AUTO_EVICT_COLLECTION_CACHE, CACHE_KEYS_FACTORY, CACHE_REGION_FACTORY, CACHE_REGION_PREFIX, CLASS_CACHE_PREFIX, COLLECTION_CACHE_PREFIX, DEFAULT_CACHE_CONCURRENCY_STRATEGY, JAKARTA_SHARED_CACHE_MODE, JAKARTA_SHARED_CACHE_RETRIEVE_MODE, JAKARTA_SHARED_CACHE_STORE_MODE, JPA_SHARED_CACHE_MODE, JPA_SHARED_CACHE_RETRIEVE_MODE, JPA_SHARED_CACHE_STORE_MODE, QUERY_CACHE_FACTORY, QUERY_CACHE_LAYOUT, USE_DIRECT_REFERENCE_CACHE_ENTRIES, USE_MINIMAL_PUTS, USE_QUERY_CACHE, USE_SECOND_LEVEL_CACHE, USE_STRUCTURED_CACHEFields inherited from interface org.hibernate.cfg.EnvironmentSettings
CLASSLOADERS, JNDI_CLASS, JNDI_PREFIX, JNDI_URL, TC_CLASSLOADERFields inherited from interface org.hibernate.cfg.FetchSettings
DEFAULT_BATCH_FETCH_SIZE, MAX_FETCH_DEPTH, USE_SUBSELECT_FETCHFields inherited from interface org.hibernate.cfg.HikariCPSettings
HIKARI_ACQUISITION_TIMEOUT, HIKARI_CONFIG_PREFIX, HIKARI_IDLE_TIMEOUT, HIKARI_INITIAL_SQL, HIKARI_INITIALIZATION_TIMEOUT, HIKARI_ISOLATE_INTERNAL_QUERIES, HIKARI_KEEPALIVE_TIME, HIKARI_LEAK_TIMEOUT, HIKARI_MAX_LIFETIME, HIKARI_MAX_SIZE, HIKARI_MIN_IDLE_SIZE, HIKARI_POOL_NAME, HIKARI_READ_ONLY, HIKARI_VALIDATION_TIMEOUTFields inherited from interface org.hibernate.cfg.JdbcSettings
ALLOW_METADATA_ON_BOOT, AUTOCOMMIT, CONNECTION_HANDLING, CONNECTION_PREFIX, CONNECTION_PROVIDER, CONNECTION_PROVIDER_DISABLES_AUTOCOMMIT, DATASOURCE, DIALECT, DIALECT_DB_MAJOR_VERSION, DIALECT_DB_MINOR_VERSION, DIALECT_DB_NAME, DIALECT_DB_VERSION, DIALECT_NATIVE_PARAM_MARKERS, DIALECT_RESOLVERS, DRIVER, FORMAT_SQL, HBM2DDL_CONNECTION, HIGHLIGHT_SQL, ISOLATION, JAKARTA_HBM2DDL_CONNECTION, JAKARTA_HBM2DDL_DB_MAJOR_VERSION, JAKARTA_HBM2DDL_DB_MINOR_VERSION, JAKARTA_HBM2DDL_DB_NAME, JAKARTA_HBM2DDL_DB_VERSION, JAKARTA_JDBC_DRIVER, JAKARTA_JDBC_PASSWORD, JAKARTA_JDBC_URL, JAKARTA_JDBC_USER, JAKARTA_JTA_DATASOURCE, JAKARTA_NON_JTA_DATASOURCE, JDBC_TIME_ZONE, JPA_JDBC_DRIVER, JPA_JDBC_PASSWORD, JPA_JDBC_URL, JPA_JDBC_USER, JPA_JTA_DATASOURCE, JPA_NON_JTA_DATASOURCE, LOG_JDBC_ERRORS, LOG_JDBC_WARNINGS, LOG_SLOW_QUERY, NON_CONTEXTUAL_LOB_CREATION, PASS, POOL_SIZE, SHOW_SQL, STATEMENT_FETCH_SIZE, STATEMENT_INSPECTOR, URL, USE_GET_GENERATED_KEYS, USE_SCROLLABLE_RESULTSET, USE_SQL_COMMENTS, USERFields inherited from interface org.hibernate.cfg.JpaComplianceSettings
JPA_CACHING_COMPLIANCE, JPA_CASCADE_COMPLIANCE, JPA_CLOSED_COMPLIANCE, JPA_COMPLIANCE, JPA_ID_GENERATOR_GLOBAL_SCOPE_COMPLIANCE, JPA_LOAD_BY_ID_COMPLIANCE, JPA_ORDER_BY_MAPPING_COMPLIANCE, JPA_PROXY_COMPLIANCE, JPA_QUERY_COMPLIANCE, JPA_TRANSACTION_COMPLIANCE, JPAQL_STRICT_COMPLIANCEFields inherited from interface org.hibernate.cfg.ManagedBeanSettings
ALLOW_EXTENSIONS_IN_CDI, BEAN_CONTAINER, CDI_BEAN_MANAGER, DELAY_CDI_ACCESS, JAKARTA_CDI_BEAN_MANAGERFields inherited from interface org.hibernate.cfg.MappingSettings
COLUMN_ORDERING_STRATEGY, DEFAULT_CATALOG, DEFAULT_LIST_SEMANTICS, DEFAULT_SCHEMA, FORCE_DISCRIMINATOR_IN_SELECTS_BY_DEFAULT, GLOBALLY_QUOTED_IDENTIFIERS, GLOBALLY_QUOTED_IDENTIFIERS_SKIP_COLUMN_DEFINITIONS, ID_DB_STRUCTURE_NAMING_STRATEGY, IGNORE_EXPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS, IMPLICIT_DISCRIMINATOR_COLUMNS_FOR_JOINED_SUBCLASS, IMPLICIT_NAMING_STRATEGY, JAVA_TIME_USE_DIRECT_JDBC, JPA_METAMODEL_POPULATION, JSON_FORMAT_MAPPER, KEYWORD_AUTO_QUOTING_ENABLED, PHYSICAL_NAMING_STRATEGY, PREFER_NATIVE_ENUM_TYPES, PREFERRED_ARRAY_JDBC_TYPE, PREFERRED_BOOLEAN_JDBC_TYPE, PREFERRED_DURATION_JDBC_TYPE, PREFERRED_INSTANT_JDBC_TYPE, PREFERRED_POOLED_OPTIMIZER, PREFERRED_UUID_JDBC_TYPE, SEQUENCE_INCREMENT_SIZE_MISMATCH_STRATEGY, STATIC_METAMODEL_POPULATION, TABLE_GENERATOR_STORE_LAST_USED, TIMEZONE_DEFAULT_STORAGE, TRANSFORM_HBM_XML, TRANSFORM_HBM_XML_FEATURE_HANDLING, USE_NATIONALIZED_CHARACTER_DATA, VALIDATE_XML, WRAPPER_ARRAY_HANDLING, XML_FORMAT_MAPPER, XML_FORMAT_MAPPER_LEGACY_FORMAT, XML_MAPPING_ENABLEDFields inherited from interface org.hibernate.cfg.MultiTenancySettings
MULTI_TENANT_CONNECTION_PROVIDER, MULTI_TENANT_IDENTIFIER_RESOLVER, MULTI_TENANT_SCHEMA_MAPPER, TENANT_IDENTIFIER_TO_USE_FOR_ANY_KEYFields inherited from interface org.hibernate.cfg.PersistenceSettings
JAKARTA_PERSISTENCE_PROVIDER, JAKARTA_TRANSACTION_TYPE, JPA_CALLBACKS_ENABLED, JPA_PERSISTENCE_PROVIDER, JPA_TRANSACTION_TYPE, PERSISTENCE_UNIT_NAME, SCANNER, SCANNER_ARCHIVE_INTERPRETER, SCANNER_DISCOVERY, SESSION_FACTORY_JNDI_NAME, SESSION_FACTORY_NAME, SESSION_FACTORY_NAME_IS_JNDI, SESSION_FACTORY_OBSERVER, UNOWNED_ASSOCIATION_TRANSIENT_CHECKFields inherited from interface org.hibernate.cfg.QuerySettings
CALLABLE_NAMED_PARAMS_ENABLED, CRITERIA_COPY_TREE, CRITERIA_PLAN_CACHE_ENABLED, CRITERIA_VALUE_HANDLING_MODE, DEFAULT_NULL_ORDERING, FAIL_ON_PAGINATION_OVER_COLLECTION_FETCH, IMMUTABLE_ENTITY_UPDATE_QUERY_HANDLING_MODE, IN_CLAUSE_PARAMETER_PADDING, JSON_FUNCTIONS_ENABLED, NATIVE_IGNORE_JDBC_PARAMETERS, NATIVE_PREFER_JDBC_DATETIME_TYPES, PORTABLE_INTEGER_DIVISION, QUERY_MULTI_TABLE_INSERT_STRATEGY, QUERY_MULTI_TABLE_MUTATION_STRATEGY, QUERY_PASS_PROCEDURE_PARAMETER_NAMES, QUERY_PLAN_CACHE_ENABLED, QUERY_PLAN_CACHE_MAX_SIZE, QUERY_PLAN_CACHE_PARAMETER_METADATA_MAX_SIZE, QUERY_STARTUP_CHECKING, SEMANTIC_QUERY_PRODUCER, SEMANTIC_QUERY_TRANSLATOR, XML_FUNCTIONS_ENABLEDFields inherited from interface org.hibernate.cfg.SchemaToolingSettings
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, ENABLE_SYNONYMS, EXTRA_PHYSICAL_TABLE_TYPES, HBM2DDL_AUTO, HBM2DDL_CHARSET_NAME, 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, HBM2DDL_SKIP_DEFAULT_IMPORT_FILE, JAKARTA_HBM2DDL_CREATE_SCHEMAS, JAKARTA_HBM2DDL_CREATE_SCRIPT_SOURCE, JAKARTA_HBM2DDL_CREATE_SOURCE, JAKARTA_HBM2DDL_DATABASE_ACTION, 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, SCHEMA_MANAGEMENT_TOOL, STORAGE_ENGINE, UNIQUE_CONSTRAINT_SCHEMA_UPDATE_STRATEGYFields inherited from interface org.hibernate.cfg.SessionEventSettings
AUTO_SESSION_EVENTS_LISTENER, INTERCEPTOR, LOG_SESSION_METRICS, SESSION_SCOPED_INTERCEPTORFields inherited from interface org.hibernate.cfg.StatisticsSettings
GENERATE_STATISTICS, QUERY_STATISTICS_MAX_SIZE, STATS_BUILDERFields inherited from interface org.hibernate.cfg.TransactionSettings
ALLOW_JTA_TRANSACTION_ACCESS, ALLOW_UPDATE_OUTSIDE_TRANSACTION, AUTO_CLOSE_SESSION, ENABLE_LAZY_LOAD_NO_TRANS, FLUSH_BEFORE_COMPLETION, JTA_CACHE_TM, JTA_CACHE_UT, JTA_PLATFORM, JTA_PLATFORM_RESOLVER, JTA_TRACK_BY_THREAD, PREFER_USER_TRANSACTION, TRANSACTION_COORDINATOR_STRATEGYFields inherited from interface org.hibernate.cfg.ValidationSettings
CHECK_NULLABILITY, JAKARTA_PERSIST_VALIDATION_GROUP, JAKARTA_REMOVE_VALIDATION_GROUP, JAKARTA_UPDATE_VALIDATION_GROUP, JAKARTA_VALIDATION_FACTORY, JAKARTA_VALIDATION_MODE, JPA_PERSIST_VALIDATION_GROUP, JPA_REMOVE_VALIDATION_GROUP, JPA_UPDATE_VALIDATION_GROUP, JPA_VALIDATION_FACTORY, JPA_VALIDATION_MODE -
Method Summary
Modifier and TypeMethodDescriptionstatic PropertiesThe system properties, extended with all additional properties specified inhibernate.properties.
-
Method Details
-
getProperties
The system properties, extended with all additional properties specified inhibernate.properties.
-