创建Hibernate配置文件

Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹 classes中。Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用“键=值”的形式。建议采用xml格式的配置文件。xml配置文件可以直接对映射文件进行配置,并由Hibernate自动加载,而properties文件则必须在程序中通过编码加载映射文件。
创建xml格式的配置文件

Hibernate默认的xml格式的配置文件名称为hibernate.cfg.xml。下面将以一个典型的连接SQL Server 2000的Hibernate配置文件为例,对xml格式的配置文件进行解析。

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration

          PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"

          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<!--SessionFactory配置-->

  <session-factory>

指定数据库使用的SQL方言。尽管多数关系数据库都支持标准的SQL语言,但是笔者建议在此指定自己的SQL方言。

<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>

指定连接数据库用的驱动,对于不同的关系数据库,其驱动是不同的,需要根据实际情况修改。

<property name="connection.driver_class">

  com.microsoft.jdbc.sqlserver.SQLServerDriver

</property>

指定连接数据库的路径,对于不同的关系数据库,其URL路径是不同的,需要根据实际情况修改。

<property name="connection.url">

  jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=数据库名

</property>

指定连接数据库的用户名。

<property name="connection.username">用户名</property>

指定连接数据库的密码;如果密码为空,则在“密码”的位置不写任何字符。

<property name="connection.password">密码</property>

指定当程序运行时是否在控制台输出SQL语句。当show_sql属性为true时,表示在控制台输出SQL语句,默认为false。建议在调试程序时设为true,发布程序之前再改为false,因为输出SQL语句会影响程序的运行速度。

<property name="show_sql">true</property>

指定当程序运行时,是否按照标准格式在控制台上输出SQL语句。当format_sql属性为true时,表示按照标准格式在控制台上输出SQL语句,默认为false。建议在调试程序时设为true,发布程序之前再改为false。该属性只有当show_sql属性为true时才有效。

<property name="format_sql">true</property>

指定当程序运行时,是否在SQL语句中输出便于调试的注释信息。当show_sql属性为true时,表示输出注释信息,默认为false。建议在调试程序时设为true,发布程序之前再改为false。该属性只有当show_sql属性为true时才有效。

<property name="use_sql_comments">true</property>

指定持久化类映射文件的位置,由包名与映射文件组成,包名与映射文件之间用“/”分隔。

    <mapping resource="com/BranchForm.hbm.xml"/>

  </session-factory>

</hibernate-configuration>

在上面的配置文件hibernate.cfg.xml中,包含了一系列的属性元素,Hibernate将根据这些属性元素连接数据库。
创建Java属性文件格式的配置文件

Hibernate默认的Java属性文件格式的配置文件名称为hibernate.properties,其基本格式如下:

#指定连接数据库使用的SQL方言#

hibernate.dialect=org.hibernate.dialect.SQLServerDialect

#指定连接数据库的驱动程序#

hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver

#指定连接数据库的URL#

hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=数据库名

#指定连接数据库的用户名#

hibernate.connection.username=用户名

#指定连接数据库的密码#

hibernate.connection.password=密码

#指定在执行程序时,是否在控制台上输出SQL语句#

hibernate.show_sql=true

#指定是否按照标准格式在控制台上输出SQL语句#

hibernate.format_sql=true

#指定是否在SQL语句中输出便于调试的注释信息#

hibernate.use_sql_comments=true

hibernate.properties文件中包含了一系列属性的设置值,Hibernate将根据这些属性来连接数据库。本例为连接SQL Server 2000数据库时的文件内容。
Hibernate配置属性

Hibernate 3.2提供的配置属性如表2.1所示。

表2.1                                               Hibernate 3.2提供的配置属性表 
属    性
	

说    明

hibernate.dialect
	

连接数据库使用的SQL方言

hibernate.show_sql
	

指定是否在控制台上输出SQL语句,值为true或false

hibernate.format_sql
	

指定是否按照标准格式在控制台上输出SQL语句,值为true或false

hibernate.default_schema
	

在生成的SQL中,将给定的schema/tablespace附加于非全限定名的表名上

续表

属    性                                                                     说    明

hibernate.default_catalog                         在生成的SQL中,将给定的catalog附加于非全限定名的表名上

hibernate.session_factory_name               SessionFactory创建后,将自动使用这个名字绑定到JNDI中

hibernate.max_fetch_depth                     为单向关联(一对一、多对一)的外连接抓取(Outer Join Fetch)树设置最大深度,值为0意味着将关闭默认的外连接抓取。建议在0到3之间取值

hibernate.default_batch_fetch_size            为Hibernate关联的批量抓取设置默认数量。建议使用4、8或16

hibernate.default_entity_mode                 为由SessionFactory打开的所有Session指定默认的实体表现模式

hibernate.order_updates                         强制Hibernate按照被更新数据的主键为SQL更新排序。这么做将减少在高并发系统中事务的死锁。值为true或false

hibernate.generate_statistics                    用于指定Hibernate是否收集有助于性能调节的统计数据,值为true或false,默认值为false

hibernate.use_identifer_rollback               用于指定在对象被删除时,生成的标识属性是否被重设为默认值,值为true或false,默认值为false

hibernate.use_sql_comments                    用于指定是否在SQL语句中输出便于调试的注释信息,值为true或false,默认值为false 

你可能感兴趣的:(sql,Hibernate,xml,SQL Server,Microsoft)