## org.hibernate.cfg
Class Environment

    java.lang.Object
      org.hibernate.cfg.Environment

    public final class Environment

extends Object

Provides access to configuration info passed in `Properties` objects.
Hibernate has two property scopes:

- Factory-level properties may be passed to the `SessionFactory` when it instantiated. Each instance might have different property values. If no properties are specified, the factory calls `Environment.getProperties()`.
- System-level properties are shared by all factory instances and are always determined by the `Environment` properties.

The only system-level properties are

- `hibernate.jdbc.use_streams_for_binary`
- `hibernate.cglib.use_reflection_optimizer`

`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` is controlled by the following properties. Properties may be either be `System` properties, properties defined in a resource named `/hibernate.properties` or an instance of `java.util.Properties` passed to `Configuration.buildSessionFactory()`

property | meaning
`hibernate.dialect` | classname of `org.hibernate.dialect.Dialect` subclass
`hibernate.cache.provider_class` | classname of `org.hibernate.cache.CacheProvider` subclass (if not specified EHCache is used)
`hibernate.connection.provider_class` | classname of `org.hibernate.connection.ConnectionProvider` subclass (if not specified hueristics are used)
`hibernate.connection.username` | database username
`hibernate.connection.password` | database password
`hibernate.connection.url` | JDBC URL (when using `java.sql.DriverManager`)
`hibernate.connection.driver_class` | classname of JDBC driver
`hibernate.connection.isolation` | JDBC transaction isolation level (only when using `java.sql.DriverManager`)
`hibernate.connection.pool_size` | the maximum size of the connection pool (only when using `java.sql.DriverManager`)
`hibernate.connection.datasource` | databasource JNDI name (when using `javax.sql.Datasource`)
`hibernate.jndi.url` | JNDI `InitialContext` URL
`hibernate.jndi.class` | JNDI `InitialContext` classname
`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_scrollable_resultset` | enable use of JDBC2 scrollable resultsets (you only need this specify this property when using user supplied connections)
`hibernate.jdbc.use_getGeneratedKeys` | enable use of JDBC3 PreparedStatement.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.session_factory_name` | If set, the factory attempts to bind this name to itself in the JNDI context. This name is also used to support cross JVM `Session` (de)serialization.
`hibernate.transaction.manager_lookup_class` | classname of `org.hibernate.transaction.TransactionManagerLookup` implementor
`hibernate.transaction.factory_class` | the factory to use for instantiating `Transaction`s. (Defaults to `JDBCTransactionFactory`.)
`hibernate.query.substitutions` | query language token substitutions

Author:
  Gavin King
See Also:
  `SessionFactory`

Field Summary
`static String` `AUTO_CLOSE_SESSION` Enable automatic session close at end of transaction
`static String` `AUTOCOMMIT` JDBC autocommit mode
`static String` `BATCH_STRATEGY` Select a custom batcher.
`static String` `BATCH_VERSIONED_DATA` Should versioned data be included in batching?
`static String` `BYTECODE_PROVIDER`
`static String` `C3P0_ACQUIRE_INCREMENT` Number of connections acquired when pool is exhausted
`static String` `C3P0_IDLE_TEST_PERIOD` Idle time before a C3P0 pooled connection is validated
`static String` `C3P0_MAX_SIZE` Maximum size of C3P0 connection pool
`static String` `C3P0_MAX_STATEMENTS` Maximum size of C3P0 statement cache
`static String` `C3P0_MIN_SIZE` Minimum size of C3P0 connection pool
`static String` `C3P0_TIMEOUT` Maximum idle time for C3P0 connection pool
`static String` `CACHE_NAMESPACE` The `CacheProvider` JNDI namespace, if pre-bound to JNDI.
`static String` `CACHE_PROVIDER` The `CacheProvider` implementation class
`static String` `CACHE_PROVIDER_CONFIG` The `CacheProvider` implementation class
`static String` `CACHE_REGION_FACTORY` The `RegionFactory` implementation class
`static String` `CACHE_REGION_PREFIX` The `CacheProvider` region name prefix
`static String` `CHECK_NULLABILITY` Enable nullability checking.
`static String` `CONNECTION_PREFIX` prefix for arbitrary JDBC connection properties
`static String` `CONNECTION_PROVIDER` `ConnectionProvider` implementor to use when obtaining connections
`static String` `CURRENT_SESSION_CONTEXT_CLASS` Context scoping impl for `SessionFactory.getCurrentSession()` processing.
`static String` `DATASOURCE` `java.sql.Datasource` JNDI name
`static String` `DEFAULT_BATCH_FETCH_SIZE` The default batch size for batch fetching
`static String` `DEFAULT_CATALOG` A default database catalog name to use for unqualified tablenames
`static String` `DEFAULT_ENTITY_MODE` The EntityMode in which set the Session opened from the SessionFactory.
`static String` `DEFAULT_SCHEMA` A default database schema (owner) name to use for unqualified tablenames
`static String` `DEFAULT_TRANSACTION_MANAGER_STRATEGY` If none is explicitly set, default `TransactionManagerLookup` implementor to use for obtaining the `TransactionManager`
`static String` `DEFAULT_TRANSACTION_STRATEGY` If none is explicitly set, default `TransactionFactory` implementor to use for creating `Transaction`s
`static String` `DIALECT` Hibernate SQL `Dialect` class
`static String` `DIALECT_RESOLVERS` `DialectResolver` classes to register with the `DialectFactory`
`static String` `DRIVER` JDBC driver class
`static String` `FLUSH_BEFORE_COMPLETION` Enable automatic flush during the JTA `beforeCompletion()` callback
`static String` `FORMAT_SQL` Enable formatting of SQL logged to the console
`static String` `GENERATE_STATISTICS` Enable statistics collection
`static String` `GLOBALLY_QUOTED_IDENTIFIERS` Should all database identifiers be quoted.
`static String` `HBM2DDL_AUTO` Auto export/update schema using hbm2ddl tool.
`static String` `HBM2DDL_IMPORT_FILES` Comma-separated names of the optional files containing SQL DML statements executed during the SessionFactory creation.
`static String` `ISOLATION` JDBC transaction isolation level
`static String` `JACC_CONTEXTID` The jacc context id of the deployment
`static String` `JNDI_CLASS` JNDI initial context class, `Context.INITIAL_CONTEXT_FACTORY`
`static String` `JNDI_PREFIX` prefix for arbitrary JNDI `InitialContext` properties
`static String` `JNDI_URL` JNDI provider URL, `Context.PROVIDER_URL`
`static String` `JPAQL_STRICT_COMPLIANCE`
`static String` `MAX_FETCH_DEPTH` Maximum depth of outer join fetching
`static String` `ORDER_INSERTS` Enable ordering of insert statements for the purpose of more efficient JDBC batching.
`static String` `ORDER_UPDATES` Enable ordering of update statements by primary key value
`static String` `OUTPUT_STYLESHEET` An XSLT resource used to generate "custom" XML
`static String` `PASS` JDBC password
`static String` `POOL_SIZE` Maximum number of inactive connections for Hibernate's connection pool
`static String` `PREFER_POOLED_VALUES_LO` When using pooled `optimizers`, prefer interpreting the database value as the lower (lo) boundary.
`static String` `PROXOOL_EXISTING_POOL` Proxool property to configure the Proxool Provider from an already existing pool (`true` / `false`)
`static String` `PROXOOL_POOL_ALIAS` Proxool property with the Proxool pool alias to use (Required for `PROXOOL_EXISTING_POOL`, `PROXOOL_PROPERTIES`, or `PROXOOL_XML`)
`static String` `PROXOOL_PREFIX` Proxool/Hibernate property prefix
`static String` `PROXOOL_PROPERTIES` Proxool property to configure the Proxool Provider using a properties file (`/path/to/proxool.properties`)
`static String` `PROXOOL_XML` Proxool property to configure the Proxool Provider using an XML (`/path/to/file.xml`)
`static String` `QUERY_CACHE_FACTORY` The `QueryCacheFactory` implementation class.
`static String` `QUERY_PLAN_CACHE_MAX_SOFT_REFERENCES` The maximum number of soft references maintained by `SoftLimitMRUCache`.
`static String` `QUERY_PLAN_CACHE_MAX_STRONG_REFERENCES` The maximum number of strong references maintained by `SoftLimitMRUCache`.
`static String` `QUERY_STARTUP_CHECKING` Should named queries be checked during startup (the default is enabled).
`static String` `QUERY_SUBSTITUTIONS` A comma-separated list of token substitutions to use when translating a Hibernate query to SQL
`static String` `QUERY_TRANSLATOR` The classname of the HQL query parser factory
`static String` `RELEASE_CONNECTIONS` Specifies how Hibernate should release JDBC connections.
`static String` `SESSION_FACTORY_NAME` JNDI name to bind to `SessionFactory`
`static String` `SHOW_SQL` Enable logging of generated SQL to the console
`static String` `SQL_EXCEPTION_CONVERTER` The `SQLExceptionConverter` to use for converting SQLExceptions to Hibernate's JDBCException hierarchy.
`static String` `STATEMENT_BATCH_SIZE` Maximum JDBC batch size.
`static String` `STATEMENT_FETCH_SIZE` Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed.
`static String` `TRANSACTION_MANAGER_STRATEGY` `TransactionManagerLookup` implementor to use for obtaining the `TransactionManager`
`static String` `TRANSACTION_STRATEGY` `TransactionFactory` implementor to use for creating `Transaction`s
`static String` `URL` JDBC URL
`static String` `USE_GET_GENERATED_KEYS` Tells the JDBC driver to attempt to retrieve row Id with the JDBC 3.0 PreparedStatement.getGeneratedKeys() method.
`static String` `USE_IDENTIFIER_ROLLBACK`
`static String` `USE_MINIMAL_PUTS` Optimize the cache for minimal puts instead of minimal gets
`static String` `USE_QUERY_CACHE` Enable the query cache (disabled by default)
`static String` `USE_REFLECTION_OPTIMIZER` Use bytecode libraries optimized property access
`static String` `USE_SCROLLABLE_RESULTSET` Use JDBC scrollable `ResultSet`s.
`static String` `USE_SECOND_LEVEL_CACHE` Enable the second-level cache (enabled by default)
`static String` `USE_SQL_COMMENTS` Add comments to the generated SQL
`static String` `USE_STREAMS_FOR_BINARY` Use `java.io` streams to read / write binary data from / to JDBC
`static String` `USE_STRUCTURED_CACHE` Enable use of structured second-level cache entries
`static String` `USER` JDBC user
`static String` `USER_TRANSACTION` JNDI name of JTA `UserTransaction` object
`static String` `WRAP_RESULT_SETS` Enable wrapping of JDBC result sets in order to speed up column name lookups for broken JDBC drivers

Method Summary
`static BytecodeProvider` `buildBytecodeProvider(Properties properties)`
`static BytecodeProvider` `getBytecodeProvider()`
`static Properties` `getProperties()` Return `System` properties, extended by any properties specified in `hibernate.properties`.
`static String` `isolationLevelToString(int isolation)` Get the name of a JDBC transaction isolation level
`static boolean` `jvmHasJDK14Timestamp()` Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher
`static boolean` `jvmHasTimestampBug()` Does this JVM's implementation of `Timestamp` have a bug in which the following is true:`new java.sql.Timestamp( x ).getTime() != x` NOTE : IBM JDK 1.3.1 the only known JVM to exhibit this behavior.
`static boolean` `jvmSupportsGetGeneratedKeys()` Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher
`static boolean` `jvmSupportsLinkedHashCollections()` Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher
`static boolean` `useReflectionOptimizer()` Should we use reflection optimization?
`static boolean` `useStreamsForBinary()` Should we use streams to bind binary types to JDBC IN parameters?
`static void` `verifyProperties(Properties props)` Issues warnings to the user when any obsolete or renamed property names are used.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CONNECTION_PROVIDER

    public static final String CONNECTION_PROVIDER

  `ConnectionProvider` implementor to use when obtaining connections

  See Also:
    Constant Field Values

### DRIVER

    public static final String DRIVER

  JDBC driver class

  See Also:
    Constant Field Values

### ISOLATION

    public static final String ISOLATION

  JDBC transaction isolation level

  See Also:
    Constant Field Values

### URL

    public static final String URL

  JDBC URL

  See Also:
    Constant Field Values

### USER

    public static final String USER

  JDBC user

  See Also:
    Constant Field Values

### PASS

    public static final String PASS

  JDBC password

  See Also:
    Constant Field Values

### AUTOCOMMIT

    public static final String AUTOCOMMIT

  JDBC autocommit mode

  See Also:
    Constant Field Values

### POOL_SIZE

    public static final String POOL_SIZE

  Maximum number of inactive connections for Hibernate's connection pool

  See Also:
    Constant Field Values

### DATASOURCE

    public static final String DATASOURCE

  `java.sql.Datasource` JNDI name

  See Also:
    Constant Field Values

### CONNECTION_PREFIX

    public static final String CONNECTION_PREFIX

  prefix for arbitrary JDBC connection properties

  See Also:
    Constant Field Values

### JNDI_CLASS

    public static final String JNDI_CLASS

  JNDI initial context class, `Context.INITIAL_CONTEXT_FACTORY`

  See Also:
    Constant Field Values

### JNDI_URL

    public static final String JNDI_URL

  JNDI provider URL, `Context.PROVIDER_URL`

  See Also:
    Constant Field Values

### JNDI_PREFIX

    public static final String JNDI_PREFIX

  prefix for arbitrary JNDI `InitialContext` properties

  See Also:
    Constant Field Values

### SESSION_FACTORY_NAME

    public static final String SESSION_FACTORY_NAME

  JNDI name to bind to `SessionFactory`

  See Also:
    Constant Field Values

### DIALECT

    public static final String DIALECT

  Hibernate SQL `Dialect` class

  See Also:
    Constant Field Values

### DIALECT_RESOLVERS

    public static final String DIALECT_RESOLVERS

  `DialectResolver` classes to register with the `DialectFactory`

  See Also:
    Constant Field Values

### DEFAULT_SCHEMA

    public static final String DEFAULT_SCHEMA

  A default database schema (owner) name to use for unqualified tablenames

  See Also:
    Constant Field Values

### DEFAULT_CATALOG

    public static final String DEFAULT_CATALOG

  A default database catalog name to use for unqualified tablenames

  See Also:
    Constant Field Values

### SHOW_SQL

    public static final String SHOW_SQL

  Enable logging of generated SQL to the console

  See Also:
    Constant Field Values

### FORMAT_SQL

    public static final String FORMAT_SQL

  Enable formatting of SQL logged to the console

  See Also:
    Constant Field Values

### USE_SQL_COMMENTS

    public static final String USE_SQL_COMMENTS

  Add comments to the generated SQL

  See Also:
    Constant Field Values

### MAX_FETCH_DEPTH

    public static final String MAX_FETCH_DEPTH

  Maximum depth of outer join fetching

  See Also:
    Constant Field Values

### DEFAULT_BATCH_FETCH_SIZE

    public static final String DEFAULT_BATCH_FETCH_SIZE

  The default batch size for batch fetching

  See Also:
    Constant Field Values

### USE_STREAMS_FOR_BINARY

    public static final String USE_STREAMS_FOR_BINARY

  Use `java.io` streams to read / write binary data from / to JDBC

  See Also:
    Constant Field Values

### USE_SCROLLABLE_RESULTSET

    public static final String USE_SCROLLABLE_RESULTSET

  Use JDBC scrollable `ResultSet`s. This property is only necessary when there is no `ConnectionProvider`, ie. the user is supplying JDBC connections.

  See Also:
    Constant Field Values

### USE_GET_GENERATED_KEYS

    public static final String USE_GET_GENERATED_KEYS

  Tells the JDBC driver to attempt to retrieve row Id with the JDBC 3.0 PreparedStatement.getGeneratedKeys() method. In general, performance will be better if this property is set to true and the underlying JDBC driver supports getGeneratedKeys().

  See Also:
    Constant Field Values

### STATEMENT_FETCH_SIZE

    public static final String STATEMENT_FETCH_SIZE

  Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. If `0`, JDBC driver default settings will be used.

  See Also:
    Constant Field Values

### STATEMENT_BATCH_SIZE

    public static final String STATEMENT_BATCH_SIZE

  Maximum JDBC batch size. A nonzero value enables batch updates.

  See Also:
    Constant Field Values

### BATCH_STRATEGY

    public static final String BATCH_STRATEGY

  Select a custom batcher.

  See Also:
    Constant Field Values

### BATCH_VERSIONED_DATA

    public static final String BATCH_VERSIONED_DATA

  Should versioned data be included in batching?

  See Also:
    Constant Field Values

### OUTPUT_STYLESHEET

    public static final String OUTPUT_STYLESHEET

  An XSLT resource used to generate "custom" XML

  See Also:
    Constant Field Values

### C3P0_MAX_SIZE

    public static final String C3P0_MAX_SIZE

  Maximum size of C3P0 connection pool

  See Also:
    Constant Field Values

### C3P0_MIN_SIZE

    public static final String C3P0_MIN_SIZE

  Minimum size of C3P0 connection pool

  See Also:
    Constant Field Values

### C3P0_TIMEOUT

    public static final String C3P0_TIMEOUT

  Maximum idle time for C3P0 connection pool

  See Also:
    Constant Field Values

### C3P0_MAX_STATEMENTS

    public static final String C3P0_MAX_STATEMENTS

  Maximum size of C3P0 statement cache

  See Also:
    Constant Field Values

### C3P0_ACQUIRE_INCREMENT

    public static final String C3P0_ACQUIRE_INCREMENT

  Number of connections acquired when pool is exhausted

  See Also:
    Constant Field Values

### C3P0_IDLE_TEST_PERIOD

    public static final String C3P0_IDLE_TEST_PERIOD

  Idle time before a C3P0 pooled connection is validated

  See Also:
    Constant Field Values

### PROXOOL_PREFIX

    public static final String PROXOOL_PREFIX

  Proxool/Hibernate property prefix

  See Also:
    Constant Field Values

### PROXOOL_XML

    public static final String PROXOOL_XML

  Proxool property to configure the Proxool Provider using an XML (`/path/to/file.xml`)

  See Also:
    Constant Field Values

### PROXOOL_PROPERTIES

    public static final String PROXOOL_PROPERTIES

  Proxool property to configure the Proxool Provider using a properties file (`/path/to/proxool.properties`)

  See Also:
    Constant Field Values

### PROXOOL_EXISTING_POOL

    public static final String PROXOOL_EXISTING_POOL

  Proxool property to configure the Proxool Provider from an already existing pool (`true` / `false`)

  See Also:
    Constant Field Values

### PROXOOL_POOL_ALIAS

    public static final String PROXOOL_POOL_ALIAS

  Proxool property with the Proxool pool alias to use (Required for `PROXOOL_EXISTING_POOL`, `PROXOOL_PROPERTIES`, or `PROXOOL_XML`)

  See Also:
    Constant Field Values

### AUTO_CLOSE_SESSION

    public static final String AUTO_CLOSE_SESSION

  Enable automatic session close at end of transaction

  See Also:
    Constant Field Values

### FLUSH_BEFORE_COMPLETION

    public static final String FLUSH_BEFORE_COMPLETION

  Enable automatic flush during the JTA `beforeCompletion()` callback

  See Also:
    Constant Field Values

### RELEASE_CONNECTIONS

    public static final String RELEASE_CONNECTIONS

  Specifies how Hibernate should release JDBC connections.

  See Also:
    Constant Field Values

### CURRENT_SESSION_CONTEXT_CLASS

    public static final String CURRENT_SESSION_CONTEXT_CLASS

  Context scoping impl for `SessionFactory.getCurrentSession()` processing.

  See Also:
    Constant Field Values

### TRANSACTION_STRATEGY

    public static final String TRANSACTION_STRATEGY

  `TransactionFactory` implementor to use for creating `Transaction`s

  See Also:
    Constant Field Values

### DEFAULT_TRANSACTION_STRATEGY

    public static final String DEFAULT_TRANSACTION_STRATEGY

  If none is explicitly set, default `TransactionFactory` implementor to use for creating `Transaction`s

  See Also:
    Constant Field Values

### TRANSACTION_MANAGER_STRATEGY

    public static final String TRANSACTION_MANAGER_STRATEGY

  `TransactionManagerLookup` implementor to use for obtaining the `TransactionManager`

  See Also:
    Constant Field Values

### DEFAULT_TRANSACTION_MANAGER_STRATEGY

    public static final String DEFAULT_TRANSACTION_MANAGER_STRATEGY

  If none is explicitly set, default `TransactionManagerLookup` implementor to use for obtaining the `TransactionManager`

  See Also:
    Constant Field Values

### USER_TRANSACTION

    public static final String USER_TRANSACTION

  JNDI name of JTA `UserTransaction` object

  See Also:
    Constant Field Values

### CACHE_PROVIDER

    public static final String CACHE_PROVIDER

  The `CacheProvider` implementation class

  See Also:
    Constant Field Values

### CACHE_REGION_FACTORY

    public static final String CACHE_REGION_FACTORY

  The `RegionFactory` implementation class

  See Also:
    Constant Field Values

### CACHE_PROVIDER_CONFIG

    public static final String CACHE_PROVIDER_CONFIG

  The `CacheProvider` implementation class

  See Also:
    Constant Field Values

### CACHE_NAMESPACE

    public static final String CACHE_NAMESPACE

  The `CacheProvider` JNDI namespace, if pre-bound to JNDI.

  See Also:
    Constant Field Values

### USE_QUERY_CACHE

    public static final String USE_QUERY_CACHE

  Enable the query cache (disabled by default)

  See Also:
    Constant Field Values

### QUERY_CACHE_FACTORY

    public static final String QUERY_CACHE_FACTORY

  The `QueryCacheFactory` implementation class.

  See Also:
    Constant Field Values

### USE_SECOND_LEVEL_CACHE

    public static final String USE_SECOND_LEVEL_CACHE

  Enable the second-level cache (enabled by default)

  See Also:
    Constant Field Values

### USE_MINIMAL_PUTS

    public static final String USE_MINIMAL_PUTS

  Optimize the cache for minimal puts instead of minimal gets

  See Also:
    Constant Field Values

### CACHE_REGION_PREFIX

    public static final String CACHE_REGION_PREFIX

  The `CacheProvider` region name prefix

  See Also:
    Constant Field Values

### USE_STRUCTURED_CACHE

    public static final String USE_STRUCTURED_CACHE

  Enable use of structured second-level cache entries

  See Also:
    Constant Field Values

### GENERATE_STATISTICS

    public static final String GENERATE_STATISTICS

  Enable statistics collection

  See Also:
    Constant Field Values

### USE_IDENTIFIER_ROLLBACK

    public static final String USE_IDENTIFIER_ROLLBACK

See Also:
  Constant Field Values

### USE_REFLECTION_OPTIMIZER

    public static final String USE_REFLECTION_OPTIMIZER

  Use bytecode libraries optimized property access

  See Also:
    Constant Field Values

### QUERY_TRANSLATOR

    public static final String QUERY_TRANSLATOR

  The classname of the HQL query parser factory

  See Also:
    Constant Field Values

### QUERY_SUBSTITUTIONS

    public static final String QUERY_SUBSTITUTIONS

  A comma-separated list of token substitutions to use when translating a Hibernate query to SQL

  See Also:
    Constant Field Values

### QUERY_STARTUP_CHECKING

    public static final String QUERY_STARTUP_CHECKING

  Should named queries be checked during startup (the default is enabled).

  Mainly intended for test environments.

  See Also:
    Constant Field Values

### HBM2DDL_AUTO

    public static final String HBM2DDL_AUTO

  Auto export/update schema using hbm2ddl tool. Valid values are `update`, `create`, `create-drop` and `validate`.

  See Also:
    Constant Field Values

### HBM2DDL_IMPORT_FILES

    public static final String HBM2DDL_IMPORT_FILES

  Comma-separated names of the optional files containing SQL DML statements executed during the SessionFactory creation. File order matters, the statements of a give file are executed before the statements of the following files. These statements are only executed if the schema is created ie if `hibernate.hbm2ddl.auto` is set to `create` or `create-drop`. The default value is `/import.sql`

  See Also:
    Constant Field Values

### SQL_EXCEPTION_CONVERTER

    public static final String SQL_EXCEPTION_CONVERTER

  The `SQLExceptionConverter` to use for converting SQLExceptions to Hibernate's JDBCException hierarchy. The default is to use the configured `Dialect`'s preferred SQLExceptionConverter.

  See Also:
    Constant Field Values

### WRAP_RESULT_SETS

    public static final String WRAP_RESULT_SETS

  Enable wrapping of JDBC result sets in order to speed up column name lookups for broken JDBC drivers

  See Also:
    Constant Field Values

### ORDER_UPDATES

    public static final String ORDER_UPDATES

  Enable ordering of update statements by primary key value

  See Also:
    Constant Field Values

### ORDER_INSERTS

    public static final String ORDER_INSERTS

  Enable ordering of insert statements for the purpose of more efficient JDBC batching.

  See Also:
    Constant Field Values

### DEFAULT_ENTITY_MODE

    public static final String DEFAULT_ENTITY_MODE

  The EntityMode in which set the Session opened from the SessionFactory.

  See Also:
    Constant Field Values

### JACC_CONTEXTID

    public static final String JACC_CONTEXTID

  The jacc context id of the deployment

  See Also:
    Constant Field Values

### GLOBALLY_QUOTED_IDENTIFIERS

    public static final String GLOBALLY_QUOTED_IDENTIFIERS

  Should all database identifiers be quoted.

  See Also:
    Constant Field Values

### CHECK_NULLABILITY

    public static final String CHECK_NULLABILITY

  Enable nullability checking. Raises an exception if a property marked as not-null is null. Default to false if Bean Validation is present in the classpath and Hibernate Annotations is used, true otherwise.

  See Also:
    Constant Field Values

### BYTECODE_PROVIDER

    public static final String BYTECODE_PROVIDER

See Also:
  Constant Field Values

### JPAQL_STRICT_COMPLIANCE

    public static final String JPAQL_STRICT_COMPLIANCE

See Also:
  Constant Field Values

### PREFER_POOLED_VALUES_LO

    public static final String PREFER_POOLED_VALUES_LO

  When using pooled `optimizers`, prefer interpreting the database value as the lower (lo) boundary. The default is to interpret it as the high boundary.

  See Also:
    Constant Field Values

### QUERY_PLAN_CACHE_MAX_STRONG_REFERENCES

    public static final String QUERY_PLAN_CACHE_MAX_STRONG_REFERENCES

  The maximum number of strong references maintained by `SoftLimitMRUCache`. Default is 128.

  See Also:
    Constant Field Values

### QUERY_PLAN_CACHE_MAX_SOFT_REFERENCES

    public static final String QUERY_PLAN_CACHE_MAX_SOFT_REFERENCES

  The maximum number of soft references maintained by `SoftLimitMRUCache`. Default is 2048.

  See Also:
    Constant Field Values

Method Detail

### verifyProperties

    public static void verifyProperties(Properties props)

  Issues warnings to the user when any obsolete or renamed property names are used.

  Parameters:
    `props` - The specified properties.

### getBytecodeProvider

    public static BytecodeProvider getBytecodeProvider()

### jvmHasTimestampBug

    public static boolean jvmHasTimestampBug()

  Does this JVM's implementation of `Timestamp` have a bug in which the following is true:`new java.sql.Timestamp( x ).getTime() != x`

  NOTE : IBM JDK 1.3.1 the only known JVM to exhibit this behavior.

  Returns:
    True if the JVM's `Timestamp` implementa

### jvmHasJDK14Timestamp

    public static boolean jvmHasJDK14Timestamp()

  Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher

  Does this JVM handle `Timestamp` in the JDK 1.4 compliant way wrt to nano rolling>

  Returns:
    True if the JDK 1.4 (JDBC3) specification for `Timestamp` nano rolling is adhered to.

### jvmSupportsLinkedHashCollections

    public static boolean jvmSupportsLinkedHashCollections()

  Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher

  Does this JVM support `LinkedHashSet` and `LinkedHashMap`?

  Note, this is true for JDK 1.4 and above; hence the deprecation.

  Returns:
    True if `LinkedHashSet` and `LinkedHashMap` are available.
  See Also:
    `LinkedHashSet`, `LinkedHashMap`

### jvmSupportsGetGeneratedKeys

    public static boolean jvmSupportsGetGeneratedKeys()

  Deprecated. Starting with 3.3 Hibernate requires JDK 1.4 or higher

  Does this JDK/JVM define the JDBC `Statement` interface with a 'getGeneratedKeys' method?

  Note, this is true for JDK 1.4 and above; hence the deprecation.

  Returns:
    True if generated keys can be retrieved via Statement; false otherwise.
  See Also:
    `Statement`

### useStreamsForBinary

    public static boolean useStreamsForBinary()

  Should we use streams to bind binary types to JDBC IN parameters?

  Returns:
    True if streams should be used for binary data handling; false otherwise.
  See Also:
    `USE_STREAMS_FOR_BINARY`

### useReflectionOptimizer

    public static boolean useReflectionOptimizer()

  Should we use reflection optimization?

  Returns:
    True if reflection optimization should be used; false otherwise.
  See Also:
    `USE_REFLECTION_OPTIMIZER`, `getBytecodeProvider()`, `BytecodeProvider.getReflectionOptimizer(java.lang.Class, java.lang.String[], java.lang.String[], java.lang.Class[])`

### getProperties

    public static Properties getProperties()

  Return `System` properties, extended by any properties specified in `hibernate.properties`.

  Returns:
    Properties

### isolationLevelToString

    public static String isolationLevelToString(int isolation)

  Get the name of a JDBC transaction isolation level

  Parameters:
    `isolation` - as defined by `java.sql.Connection`
  Returns:
    a human-readable name
  See Also:
    `Connection`

### buildBytecodeProvider

    public static BytecodeProvider buildBytecodeProvider(Properties properties)

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.