Hibenate configuration parameters
Here is a general hibernate session configuration file:
hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.use_outer_join">true</property>
<property name="hibernate.show_sql">false</property>
<!-- cache properties -->
<property name="hibernate.cache.use_query_cache">false</property>
<property name="hibernate.generate_statistics">false</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.use_sql_comments">true</property>
<property name="hibernate.jdbc.batch_size">20</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>
<property name="net.sf.ehcache.configurationResourceName">/ehcache.xml</property>
<!-- mapping files -->
<mapping resource="domain.hbm.xml"/>
<!--cache entities -->
<class-cache class="com.wgu.domain.Attribute" usage="read-write"/>
<collection-cache collection="com.wgu.domain.AttributeType.values" usage="read-write"/>
</session-factory>
</hibernate-configuration>
For more details on the meaning of configuration properties, please rerfer to Hibernate session configuration specification.
Integrate Hibernate with Spring
You may find out there are some critical properties missed in previous configuration file:
hibernate.connection.driver_class |
JDBC driver class |
hibernate.connection.url |
JDBC URL |
hibernate.connection.username |
database user |
hibernate.connection.password |
database user password |
hibernate.connection.pool_size |
maximum number of pooled connections |
That's because we use hibernate with Spring.
Configure SessionFactory
<bean id="mySessionFactory" lazy-init="true" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:/hibernate.cfg.xml</value>
</property>
<property name="hibernateProperties">
<ref bean="hibernateProperties"/>
</property>
<property name="dataSource">
<ref bean="DataSource"/>
</property>
<property name="lobHandler">
<ref bean="LobHandler"/>
</property>
</bean>
Configure Datasource
JDBC Connection Configuration
<bean id="DataSource" lazy-init="true"
class="org.apache.commons.dbcp.BasicDataSource" autowire="default"
dependency-check="default">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver
</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@${db.host}:${db.port}:${db.service}
</value>
</property>
<property name="username">
<value>${db.user}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
<property name="maxActive">
<value>100</value>
</property>
<property name="defaultAutoCommit">
<value>false</value>
</property>
<property name="testOnBorrow">
<value>true</value>
</property>
<property name="minEvictableIdleTimeMillis">
<value>5000</value>
</property>
<property name="timeBetweenEvictionRunsMillis">
<value>10000</value>
</property>
<property name="numTestsPerEvictionRun">
<value>5</value>
</property>
<property name="validationQuery">
<value>SELECT COUNT(*) FROM DUAL</value>
</property>
</bean>
Datasource JNDI Configuration
<bean id="hibernateProperties" class="java.util.Properties">
<constructor-arg index="0">
<props>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.connection.datasource">java:comp/env/jdbc/dataSource</prop>
<prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WeblogicTransactionManagerLookup</prop>
</props>
</constructor-arg>
</bean>
<jee:jndi-lookup id="DataSource" jndi-name="dataSource"/>
Configure Hibernate use SSL through JDBC connection
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">
<property name="URL"><value><!-- JDBC URL that specifies SSL connection --></value></property>
<!-- other relevant properties, like user and password -->
<property name="connectionProperties>
<value>
oracle.net.ssl_cipher_suites: (ssl_rsa_export_with_rc4_40_md5, ssl_rsa_export_with_des40_cbc_sha)
oracle.net.ssl_client_authentication: false
oracle.net.ssl_version: 3.0
oracle.net.encryption_client: REJECTED
oracle.net.crypto_checksum_client: REJECTED
</value>
</property>
</bean>
Please refer to
stackoverflow.com.
分享到:
相关推荐
在这个主题中,我们主要关注的是Hibernate的配置文件`hibernate.properties`以及它的DTD(Document Type Definition)文件,包括`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`。 首先,`...
在实际应用中,`hibernate.properties`文件是Hibernate 5.0.7版本的配置文件,主要用于存储非XML格式的配置信息。它通常包含数据库连接信息、缓存策略、日志级别等设置。例如,`hibernate.connection.driver_class`...
本文将探讨如何使用`Properties`类来补充`hibernate.cfg.xml`的配置,以实现更加灵活和模块化的设置。 首先,`hibernate.cfg.xml`文件通常包含了以下关键元素: 1. **数据库连接信息**:如数据库URL、用户名、密码...
### Hibernate配置Properties详解 在Java开发环境中,Hibernate作为一款优秀的对象关系映射(ORM)框架,为开发者提供了高效且简洁的方式来进行数据库操作。而在Hibernate的实际应用过程中,合理的配置显得尤为重要...
我们来深入探讨一下`hibernate.properties`、`hibernate-configuration-3.0.dtd`以及`hibernate-mapping-3.0.dtd`这三个关键文件及其在Hibernate中的作用。 首先,`hibernate.properties`是Hibernate的配置文件,它...
## Properties for external configuration of Proxool hibernate.proxool.pool_alias pool1 ## Only need one of the following #hibernate.proxool.existing_pool true #hibernate.proxool.xml proxool.xml #...
hibernate开发时,必需用到的DTD文件,该压缩包含有所需的三个文件:hibernate.properties,hibernate-configuration-3.0.dtd,hibernate-mapping-3.0.dtd。
在启动Hibernate的过程中,首先通过`Configuration`类的构造函数,初始化`Configuration`实例,并加载配置文件`hibernate.cfg.xml`和`hibernate.properties`。然后,通过调用`Configuration`的`buildSessionFactory...
核心配置文件(hibernate.properties)是用于配置 Hibernate 的核心配置信息的文件。该文件用于指定 Hibernate 的日志配置、缓存配置等。 Api 内置对象 Hibernate 提供了一些内置对象来帮助开发者快速地访问和操作...
在创建SessionFactory对象时,可以加载资源映射文件,例如`hibernateConfiguration.addResource("Book.hbm.xml")`,并将其他属性设置为所需的值,如`hibernate.show_sql`。 另一方面,hibernate.cfg.xml文件提供了...
DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">`,确保配置文件的格式正确。 5. **Hibernate资料...
【hibernate-properties-customizer-example】是一个项目,展示了如何在Spring Boot应用中使用`HibernatePropertiesCustomizer`来自定义Hibernate配置。这个例子的核心是通过扩展Spring Boot的自动配置能力,来实现...
- **Standard Hibernate Configuration (<configuration>)**:配置Hibernate的基本设置。 - **Annotation-based Configuration ()**:基于注解的配置方式。 - **JPA-based configuration (<jpaconfiguration>)**...
- 在项目的类路径下创建或找到`hibernate.properties`文件。 - 在此文件中添加以下属性来指定连接数据库时使用的字符集和是否支持Unicode: ```properties hibernate.connection.url=jdbc:mysql://localhost:...
在 Eclipse 中,您可以选择 File->New->Other->Hibernate->Hibernate Configuration File,然后选择 Oracle 的驱动程序和数据库连接信息。 生成实体类和 DAO 类 在生成实体类和 DAO 类之前,您需要生成.hbm.xml ...
但在某些情况下,可能会分开使用 `hibernate.properties` 和 `hibernate.cfg.xml` 两个文件: - `hibernate.properties`: 主要用于配置数据连接、二级缓存、连接池等信息。 - `hibernate.cfg.xml`: 主要用于配置...
这可以通过读取属性文件来实现,例如上面的`hibernate.properties`文件展示了基本的配置项,包括方言、驱动类、数据库连接信息和查询替换设置。 在处理数据时,Hibernate的核心组件Session和SessionFactory需要手动...
5. **Hibernate 启动过程**:启动 Hibernate 时,`Configuration` 对象首先读取 `hibernate.properties`,然后可能通过 `configure()` 加载 `hibernate.cfg.xml`。最后,`buildSessionFactory()` 方法生成 `...
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <!-- 设置是否显示SQL语句 --> ...