休眠 - 配置(Configuration)
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 |