Hibernar - Configuración

Hibernate requiere saber de antemano dónde encontrar la información de mapeo que define cómo se relacionan sus clases de Java con las tablas de la base de datos. Hibernate también requiere un conjunto de opciones de configuración relacionadas con la base de datos y otros parámetros relacionados. Toda esta información se proporciona normalmente como un archivo de propiedades estándar de Java llamadohibernate.properties, o como un archivo XML llamado hibernate.cfg.xml.

Consideraré un archivo con formato XML hibernate.cfg.xmlpara especificar las propiedades de Hibernate requeridas en mis ejemplos. La mayoría de las propiedades toman sus valores predeterminados y no es necesario especificarlos en el archivo de propiedades a menos que sea realmente necesario. Este archivo se guarda en el directorio raíz de la ruta de clases de su aplicación.

Propiedades de hibernación

A continuación se muestra la lista de propiedades importantes, se le pedirá que configure una base de datos en una situación independiente:

No Señor. Propiedades y descripción
1

hibernate.dialect

Esta propiedad hace que Hibernate genere el SQL apropiado para la base de datos elegida.

2

hibernate.connection.driver_class

La clase de controlador JDBC.

3

hibernate.connection.url

La URL de JDBC a la instancia de la base de datos.

4

hibernate.connection.username

El nombre de usuario de la base de datos.

5

hibernate.connection.password

La contraseña de la base de datos.

6

hibernate.connection.pool_size

Limita el número de conexiones en espera en el grupo de conexiones de la base de datos de Hibernate.

7

hibernate.connection.autocommit

Permite utilizar el modo de confirmación automática para la conexión JDBC.

Si está utilizando una base de datos junto con un servidor de aplicaciones y JNDI, deberá configurar las siguientes propiedades:

No Señor. Propiedades y descripción
1

hibernate.connection.datasource

El nombre JNDI definido en el contexto del servidor de aplicaciones, que está utilizando para la aplicación.

2

hibernate.jndi.class

La clase InitialContext para JNDI.

3

hibernate.jndi.<JNDIpropertyname>

Pasa cualquier propiedad JNDI que desee al InitialContext de JNDI .

4

hibernate.jndi.url

Proporciona la URL para JNDI.

5

hibernate.connection.username

El nombre de usuario de la base de datos.

6

hibernate.connection.password

La contraseña de la base de datos.

Hibernar con la base de datos MySQL

MySQL es uno de los sistemas de bases de datos de código abierto más populares disponibles en la actualidad. Vamos a crearhibernate.cfg.xmlarchivo de configuración y colóquelo en la raíz de la ruta de clase de su aplicación. Tendrás que asegurarte de tenertestdb base de datos disponible en su base de datos MySQL y tiene un usuario test disponible para acceder a la base de datos.

El archivo de configuración XML debe ajustarse a la DTD de configuración de Hibernate 3, que está disponible en 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>

El archivo de configuración anterior incluye <mapping> etiquetas, que están relacionadas con el archivo de mapeo de hibernación y veremos en el próximo capítulo qué es exactamente un archivo de mapeo de hibernación y cómo y por qué lo usamos.

A continuación se muestra la lista de varios tipos de propiedad de dialecto de bases de datos importantes:

No Señor. Propiedad de base de datos y dialecto
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

dieciséis

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