Hibernate - 配置


Hibernate 需要提前知道在哪里可以找到定义 Java 类与数据库表如何关联的映射信息。Hibernate还需要一组与数据库和其他相关参数相关的配置设置。所有这些信息通常作为名为hibernate.properties的标准 Java 属性文件或名为hibernate.cfg.xml的 XML 文件提供。

我将考虑使用 XML 格式的文件hibernate.cfg.xml在我的示例中指定所需的 Hibernate 属性。大多数属性都采用默认值,除非确实需要,否则不需要在属性文件中指定它们。该文件保存在应用程序类路径的根目录中。

Hibernate属性

以下是重要属性的列表,您将需要在独立情况下配置数据库 -

先生。 属性及说明
1

hibernate方言

此属性使 Hibernate 为所选数据库生成适当的 SQL。

2

hibernate.connection.driver_class

JDBC 驱动程序类。

3

hibernate.connection.url

数据库实例的 JDBC URL。

4

hibernate.connection.用户名

数据库用户名。

5

Hibernate.连接.密码

数据库密码。

6

hibernate.connection.pool_size

限制 Hibernate 数据库连接池中等待的连接数。

7

hibernate.connection.autocommit

允许 JDBC 连接使用自动提交模式。

如果您将数据库与应用程序服务器和 JNDI 一起使用,那么您必须配置以下属性 -

先生。 属性及说明
1

hibernate.connection.datasource

在应用程序服务器上下文中定义的 JNDI 名称,您正在将其用于应用程序。

2

hibernate.jndi.类

JNDI 的 InitialContext 类。

3

hibernate.jndi.<JNDI 属性名称>

将您喜欢的任何 JNDI 属性传递给 JNDI InitialContext

4

hibernate.jndi.url

提供 JNDI 的 URL。

5

hibernate.connection.用户名

数据库用户名。

6

Hibernate.连接.密码

数据库密码。

使用 MySQL 数据库进行Hibernate

MySQL 是当今最流行的开源数据库系统之一。让我们创建hibernate.cfg.xml配置文件并将其放置在应用程序类路径的根目录中。您必须确保 MySQL 数据库中有可用的testdb数据库,并且有可用于访问该数据库的用户test 。

XML 配置文件必须符合 Hibernate 3 配置 DTD,该 DTD 可以从http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd获取。

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
   <session-factory>
   
      <property name = "hibernate.dialect">
         org.hibernate.dialect.MySQLDialect
      </property>
      
      <property name = "hibernate.connection.driver_class">
         com.mysql.jdbc.Driver
      </property>
      
      <!-- Assume test is the database name -->
      
      <property name = "hibernate.connection.url">
         jdbc:mysql://localhost/test
      </property>
      
      <property name = "hibernate.connection.username">
         root
      </property>
      
      <property name = "hibernate.connection.password">
         root123
      </property>
      
      <!-- List of XML mapping files -->
      <mapping resource = "Employee.hbm.xml"/>
      
   </session-factory>
</hibernate-configuration>

上面的配置文件包含<mapping>标签,这些标签与 hibernate 映射文件相关,我们将在下一章中看到 hibernate 映射文件到底是什么以及我们如何以及为什么使用它?

以下是各种重要数据库方言属性类型的列表 -

先生。 数据库和方言属性
1

数据库2

org.hibernate.dialect.DB2Dialect

2

HSQL数据库

org.hibernate.dialect.HSQLDialect

3

超音速SQL

org.hibernate.dialect.HSQLDialect

4

信息系统

org.hibernate.dialect.InformixDialect

5

安格尔

org.hibernate.dialect.IngresDialect

6

英特贝斯

org.hibernate.dialect.InterbaseDialect

7

微软SQL服务器2000

org.hibernate.dialect.SQLServerDialect

8

微软SQL服务器2005

org.hibernate.dialect.SQLServer2005Dialect

9

微软 SQL Server 2008

org.hibernate.dialect.SQLServer2008Dialect

10

MySQL

org.hibernate.dialect.MySQLDialect

11

Oracle(任何版本)

org.hibernate.dialect.OracleDialect

12

甲骨文11g

org.hibernate.dialect.Oracle10gDialect

13

甲骨文10g

org.hibernate.dialect.Oracle10gDialect

14

甲骨文9i

org.hibernate.dialect.Oracle9iDialect

15

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

16

进步

org.hibernate.dialect.ProgressDialect

17 号

SAP数据库

org.hibernate.dialect.SAPDBDialect

18

赛贝斯

org.hibernate.dialect.SybaseDialect

19

Sybase 无处不在

org.hibernate.dialect.SybaseAnywhereDialect