Hibernate - ¿Como configurar Hibernate? - ¿Como agregar el archivo hibernate.cfg.xml al proyecto? - Tipos de Dialectos

Buenas volviendo de las vacaciones me di cuenta que deje el tutorial de Hibernate por la mitad, pero esto se debe por los problemas que acarreaba explicar un frameworks 
que utiliza SQL y toda su trato con la base de datos sin explicar SQL, pero bueno pero como esto lo hice mucho, pero mucho mas atrás hoy en día podemos seguir, lo ultimo que vimos de Hibernate fueron los Jars necesarios para utilizar Hibernate (si no te acordas pasa por acá) hoy vamos a ver que como configurar nuestro proyecto utilizando Hibernate.


Hibernate - ¿Como configurar Hibernate?
Supongamos que estamos exactamente en el punto que agregamos las librerías al proyecto y ahora tenemos que empezar a configurar. 



Hibernate - ¿Como configurar Hibernate?



Hibernate - Archivo de configuración de Hibernate

Hibernate necesita saber de antemano dónde encontrar la información de mapeo que define cómo las clases Java se refieren a las tablas de la base. Hibernate también requiere un conjunto de valores de configuración relacionados con la base de datos y otros parámetros relacionados.

Existe un archivo en Hibernate que toma la configuración, este archivo XML se debe llamar por defecto hibernate.cfg.xml, en el caso que usemos un archivo XML, si no podemos optar por un archivo de propiedades llamado hibernate.properties, el mismo se puede en cualquier ubicación dentro del proyecto, eso si, si deseamos ingresarlo en una jerarquía mas ordenada (lease src/config/) tenemos que tener en cuenta que debemos crear "sources folders" y no solamente carpetas por que si no, no lo tomara.



Hibernate - ¿Como agregar el archivo hibernate.cfg.xml al proyecto?

Para agregar la "sources folders" hacemos clic derecho sobre el proyecto -> New -> Sources Folder.


Hibernate - ¿Como agregar el archivo hibernate.cfg.xml al proyecto?


Luego dentro de la "sources folder" agregamos el archivo hibernate.cfg.xml, para generar uno nuevo hacemos clic derecho sobre la "sources folder": New --> Other


Hibernate - ¿Como agregar el archivo hibernate.cfg.xml al proyecto?

En el tipo de proyecto arriba en el wizard escribimos "XML", seleccionamos "XML FILE", presionamos Next >


Hibernate - ¿Como agregar el archivo hibernate.cfg.xml al proyecto?


Luego seleccionamos la carpeta en la cual vamos a guardar nuestro archivo de configuración, donde dice "File name" escribimos el nombre del archivo que obviamente es hibernate.cfg.xml, finalmente presionamos Finish.


Hibernate - ¿Como agregar el archivo hibernate.cfg.xml al proyecto?

Dentro de este archivo de configuración de Hibernate escribiremos las siguiente propiedades:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
       <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
       <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
       <property name="hibernate.connection.password"></property>
       <property name="hibernate.connection.username">root</property>
       <property name="hibernate.connection.url"> jdbc:mysql://localhost/test</property>
       <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
       <property name="show_sql">true</property>
    </session-factory>

</hibernate-configuration>


Hibernate - Propiedades del archivo  hibernate.cfg.xml

Bueno no se asusten vamos a explicar para que funciona cada propiedad, pero aclaremos existen 2 tipos de propiedades diferentes las propiedades de una aplicación standalone y las de un servidor de aplicaciones y JNDI


Propiedades Servidor de Aplicación y JNDI

hibernate.connection.datasource: Es el JNDI nombre definido en el applicaction  server, que se utilizara en el contexto de la aplicación. (En nuestro ejemplo no lo utilizamos)
hibernate.jndi.class: Es el contexto inicial que se utilizara para el JNDI(En nuestro ejemplo no lo utilizamos)
hibernate.jndi.<JNDIpropertyname>: Pasa cualquier propiedad al JNDI al contexto inicial.(En nuestro ejemplo no lo utilizamos)
hibernate.jndi.url: Provee la url para el JNDI.
hibernate.connection.username: El nombre de usuario de la base de datos
hibernate.connection.password: El password del usuario de la base de datos.


Propiedades requeridas para una aplicación standalone

hibernate.dialect: Esta propiedad hace que Hibernate genere el apropiado SQL para el tipo de base de datos elegido.
hibernate.connection.driver_class: Es la clase del driver JDBC
hibernate.connection.url: Es la direccion URL de la base de datos.
hibernate.connection.username: El nombre de usuario de la base de datos
hibernate.connection.password: El password del usuario de la base de datos.
hibernate.connection.pool_size: Limita el numero de conexiones esperando en el pool de conexiones de Hibernate. 
hibernate.connection.autocommit: Permite el autocommit modo para ser usado por la conexión JDBC.


Hibernate - Tipos de Dialectos

Los tipos de dialectos comunes de acuerdo a la base de datos:
DatabaseDialect Property
DB2org.hibernate.dialect.DB2Dialect
HSQLDBorg.hibernate.dialect.HSQLDialect
HypersonicSQLorg.hibernate.dialect.HSQLDialect
Informixorg.hibernate.dialect.InformixDialect
Ingresorg.hibernate.dialect.IngresDialect
Interbaseorg.hibernate.dialect.InterbaseDialect
Microsoft SQL Server 2000org.hibernate.dialect.SQLServerDialect
Microsoft SQL Server 2005org.hibernate.dialect.SQLServer2005Dialect
Microsoft SQL Server 2008org.hibernate.dialect.SQLServer2008Dialect
MySQLorg.hibernate.dialect.MySQLDialect
Oracle (any version)org.hibernate.dialect.OracleDialect
Oracle 11gorg.hibernate.dialect.Oracle10gDialect
Oracle 10gorg.hibernate.dialect.Oracle10gDialect
Oracle 9iorg.hibernate.dialect.Oracle9iDialect
PostgreSQLorg.hibernate.dialect.PostgreSQLDialect
Progressorg.hibernate.dialect.ProgressDialect
SAP DBorg.hibernate.dialect.SAPDBDialect
Sybaseorg.hibernate.dialect.SybaseDialect
Sybase Anywhereorg.hibernate.dialect.SybaseAnywhereDialect




En el caso que se este buscando algún tipo de dialecto que no este aquí, se puede recurrir a la documentación oficial: http://docs.jboss.org/hibernate/orm/4.2/javadocs/org/hibernate/dialect/package-summary.html


Links:

Saludos!
Hibernate - ¿Como configurar Hibernate? - ¿Como agregar el archivo hibernate.cfg.xml al proyecto? - Tipos de Dialectos Hibernate - ¿Como configurar Hibernate?  -  ¿Como agregar el archivo hibernate.cfg.xml al proyecto? - Tipos de Dialectos Reviewed by El lado oscuro de java on febrero 03, 2015 Rating: 5

1 comentario:

  1. como puedo ocultar las cadenas de conexion que se despliega y cargarlo desde un archivo solamente o pasarlo como parametros.

    ResponderEliminar

Con la tecnología de Blogger.