休眠 - 配置(Configuration)

优质
小牛编辑
132浏览
2023-12-01

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

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

Hibernate属性

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

Sr.No.属性和描述
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,那么您必须配置以下属性 -

Sr.No.属性和描述
1

hibernate.connection.datasource

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

2

hibernate.jndi.class

JNDI的InitialContext类。

3

hibernate.jndi.《JNDIpropertyname》

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

4

hibernate.jndi.url

提供JNDI的URL。

5

hibernate.connection.username

数据库用户名。

6

hibernate.connection.password

数据库密码。

使用MySQL数据库进行Hibernate

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

XML配置文件必须符合Hibernate 3 Configuration 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>

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

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

Sr.No.数据库和方言属性
1

DB2

org.hibernate.dialect.DB2Dialect

2

HSQLDB

org.hibernate.dialect.HSQLDialect

3

HypersonicSQL

org.hibernate.dialect.HSQLDialect

4

Informix

org.hibernate.dialect.InformixDialect

5

Ingres

org.hibernate.dialect.IngresDialect

6

Interbase

org.hibernate.dialect.InterbaseDialect

7

Microsoft SQL Server 2000

org.hibernate.dialect.SQLServerDialect并

8

Microsoft SQL Server 2005

org.hibernate.dialect.SQLServer2005Dialect

9

Microsoft SQL Server 2008

org.hibernate.dialect.SQLServer2008Dialect

10

MySQL

org.hibernate.dialect.MySQLDialect

11

Oracle (any version)

org.hibernate.dialect.OracleDialect

12

Oracle 11g

org.hibernate.dialect.Oracle10gDialect

13

Oracle 10g

org.hibernate.dialect.Oracle10gDialect

14

Oracle 9i

org.hibernate.dialect.Oracle9iDialect

15

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

16

Progress

org.hibernate.dialect.ProgressDialect

17

SAP DB

org.hibernate.dialect.SAPDBDialect

18

Sybase

org.hibernate.dialect.SybaseDialect

19

Sybase Anywhere

org.hibernate.dialect.SybaseAnywhereDialect