Гибернация - Конфигурация
Hibernate требует заранее знать, где найти информацию о сопоставлении, которая определяет, как ваши классы Java связаны с таблицами базы данных. Hibernate также требует набора параметров конфигурации, связанных с базой данных и другими связанными параметрами. Вся такая информация обычно предоставляется в виде стандартного файла свойств Java под названиемhibernate.propertiesили как XML-файл с именем hibernate.cfg.xml.
Я буду рассматривать файл в формате XML hibernate.cfg.xmlчтобы указать необходимые свойства Hibernate в моих примерах. Большинство свойств принимают значения по умолчанию, и указывать их в файле свойств не требуется, если это действительно не требуется. Этот файл хранится в корневом каталоге пути к классам вашего приложения.
Свойства гибернации
Ниже приведен список важных свойств, которые вам необходимо будет настроить для баз данных в автономной ситуации.
Sr. No. | Свойства и описание |
---|---|
1 | hibernate.dialect Это свойство заставляет Hibernate генерировать соответствующий SQL-код для выбранной базы данных. |
2 | hibernate.connection.driver_class Класс драйвера JDBC. |
3 | hibernate.connection.url URL-адрес JDBC для экземпляра базы данных. |
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 Класс InitialContext для JNDI. |
3 | hibernate.jndi.<JNDIpropertyname> Передает любое свойство JNDI, которое вам нравится, в JNDI InitialContext . |
4 | hibernate.jndi.url Предоставляет URL-адрес для JNDI. |
5 | hibernate.connection.username Имя пользователя базы данных. |
6 | hibernate.connection.password Пароль базы данных. |
Гибернация с базой данных MySQL
MySQL - одна из самых популярных систем баз данных с открытым исходным кодом, доступных сегодня. Давайте создадимhibernate.cfg.xmlфайл конфигурации и поместите его в корень пути к классам вашего приложения. Вам нужно будет убедиться, что у вас естьtestdb база данных доступна в вашей базе данных MySQL, и у вас есть пользователь test доступен для доступа к базе данных.
Файл конфигурации XML должен соответствовать DTD конфигурации Hibernate 3, доступной по адресу 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> теги, которые связаны с файлом hibernatemapping, и в следующей главе мы увидим, что такое файл сопоставления 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 |