Hibernate требует заранее знать — где найти информацию о сопоставлении, которая определяет, как ваши классы Java связаны с таблицами базы данных. Hibernate также требует набора параметров конфигурации, связанных с базой данных и других связанных параметров. Вся такая информация обычно предоставляется в виде стандартного файла свойств Java с именем hibernate.properties или в виде файла XML с именем hibernate.cfg.xml .
Я рассмотрю файл hibernate.cfg.xml в формате 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. |
hibernate.dialect
Это свойство заставляет Hibernate генерировать соответствующий SQL для выбранной базы данных.
hibernate.connection.driver_class
Класс драйвера JDBC.
hibernate.connection.url
URL JDBC для экземпляра базы данных.
hibernate.connection.username
Имя пользователя базы данных.
hibernate.connection.password
Пароль базы данных.
hibernate.connection.pool_size
Ограничивает количество соединений, ожидающих в пуле соединений базы данных Hibernate.
hibernate.connection.autocommit
Позволяет использовать режим автоматической фиксации для соединения JDBC.
Если вы используете базу данных вместе с сервером приложений и JNDI, вам придется настроить следующие свойства:
Sr.No. | Свойства и описание |
---|---|
1 |
hibernate.connection.datasource Имя JNDI, определенное в контексте сервера приложений, которое вы используете для приложения. |
2 |
hibernate.jndi.class Класс InitialContext для JNDI. |
3 |
hibernate.jndi. <JNDIpropertyname> Передает любое свойство JNDI, которое вам нравится, в InitialContext JNDI. |
4 |
hibernate.jndi.url Предоставляет URL для JNDI. |
5 |
hibernate.connection.username Имя пользователя базы данных. |
6 |
hibernate.connection.password Пароль базы данных. |
hibernate.connection.datasource
Имя JNDI, определенное в контексте сервера приложений, которое вы используете для приложения.
hibernate.jndi.class
Класс InitialContext для JNDI.
hibernate.jndi. <JNDIpropertyname>
Передает любое свойство JNDI, которое вам нравится, в InitialContext JNDI.
hibernate.jndi.url
Предоставляет URL для JNDI.
hibernate.connection.username
Имя пользователя базы данных.
hibernate.connection.password
Пароль базы данных.
Hibernate с базой данных MySQL
MySQL — одна из самых популярных систем баз данных с открытым исходным кодом, доступных сегодня. Давайте создадим файл конфигурации hibernate.cfg.xml и поместим его в корень пути к классу вашего приложения. Вы должны будете убедиться, что у вас есть база данных testdb, доступная в вашей базе данных MySQL, и у вас есть доступный пользовательский тест для доступа к базе данных.
Файл конфигурации 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 и как и почему мы его используем?
Ниже приведен список различных важных типов баз данных диалекта —
DB2
org.hibernate.dialect.DB2Dialect
HSQLDB
org.hibernate.dialect.HSQLDialect
HypersonicSQL
org.hibernate.dialect.HSQLDialect
Informix
org.hibernate.dialect.InformixDialect
Энгр
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 (любая версия)
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
Прогресс
org.hibernate.dialect.ProgressDialect
SAP DB
org.hibernate.dialect.SAPDBDialect
Sybase
org.hibernate.dialect.SybaseDialect
Sybase Anywhere
org.hibernate.dialect.SybaseAnywhereDialect