配置Hibernate 需要事先知道在哪里找到映射信息,这些映射信息定义了 Java 类怎样关联到数据库表。Hibernate 也需要一套相关数据库和其它相关参数的配置设置。所有这些信息通常是作为一个标准的 Java 属性文件提供的,名叫 hibernate.properties。又或者是作为 XML 文件提供的,名叫 hibernate.cfg.xml。
我们将考虑 hibernate.cfg.xml 这个 XML 格式文件,来决定在我的例子里指定需要的 Hibernate 应用属性。这个 XML 文件中大多数的属性是不需要修改的。这个文件保存在应用程序的类路径的根目录里。
Hibernate 属性下面是一个重要的属性列表,你可能需要表中的属性来在单独的情况下配置数据库。
S.N.
属性和描述
1
hibernate.dialect 这个属性使 Hibernate 应用为被选择的数据库生成适当的 SQL。
2
hibernate.connection.driver_class JDBC 驱动程序类。
3
hibernate.connection.url 数据库实例的 JDBC URL。
4
hibernate.connection.username 数据库用户名。
5
hibernate.connection.password 数据库密码。
6
hibernate.connection.pool_size 限制在 Hibernate 应用数据库连接池中连接的数量。
7
hibernate.connection.autocommit 允许在 JDBC 连接中使用自动提交模式。
如果您正在使用 JNDI 和数据库应用程序服务器然后您必须配置以下属性:
S.N.
属性和描述
1
hibernate.connection.datasource 在应用程序服务器环境中您正在使用的应用程序 JNDI 名。
2
hibernate.jndi.class JNDI 的 InitialContext 类。
3
hibernate.jndi.
4
hibernate.jndi.url 为 JNDI 提供 URL。
5
hibernate.connection.username 数据库用户名。
6
hibernate.connection.password 数据库密码。
Hibernate 和 MySQL 数据库MySQL 数据库是目前可用的开源数据库系统中最受欢迎的数据库之一。我们要创建 hibernate.cfg.xml 配置文件并将其放置在应用程序的 CLASSPATH 的根目录里。你要确保在你的 MySQL 数据库中 testdb 数据库是可用的,而且你要有一个用户 test 可用来访问数据库。
XML 配置文件一定要遵守 Hibernate 3 Configuration DTD,在 http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd. 这个网址中是可以找到的。
代码语言:txt复制
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
org.hibernate.dialect.MySQLDialect
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test
root
root123
上面的配置文件包含与 hibernate-mapping 文件相关的
数据库
方言属性
DB2
org.hibernate.dialect.DB2Dialect
HSQLDB
org.hibernate.dialect.HSQLDialect
HypersonicSQL
org.hibernate.dialect.HSQLDialect
Informix
org.hibernate.dialect.InformixDialect
Ingres
org.hibernate.dialect.IngresDialect
Interbase
org.hibernate.dialect.InterbaseDialect
Microsoft SQL Server 2000
org.hibernate.dialect.SQLServerDialect
Microsoft SQL Server 2005
org.hibernate.dialect.SQLServer2005Dialect
Microsoft SQL Server 2008
org.hibernate.dialect.SQLServer2008Dialect
MySQL
org.hibernate.dialect.MySQLDialect
Oracle (any version)
org.hibernate.dialect.OracleDialect
Oracle 11g
org.hibernate.dialect.Oracle10gDialect
Oracle 10g
org.hibernate.dialect.Oracle10gDialect
Oracle 9i
org.hibernate.dialect.Oracle9iDialect
PostgreSQL
org.hibernate.dialect.PostgreSQLDialect
Progress
org.hibernate.dialect.ProgressDialect
SAP DB
org.hibernate.dialect.SAPDBDialect
Sybase
org.hibernate.dialect.SybaseDialect
Sybase Anywhere
org.hibernate.dialect.SybaseAnywhereDialec