Hibernate II, Configuración:

¿Qué tal?, ¿como se encuentran?…Espero que bien.

Bien, la entrada pasada, les comenté sobre lo que hace hibernate y las ventajas que lleva al implementarse, haciendo de este framework una buena alternativa a los conflictos OOP/Relacional. Esta entrada será de las más pequeñas, ya que existen 2 maneras, yo solo utilizo una porque me gusta usar XML.

Bueno, ahora podrán preguntarse:

¿Qué necesito para dicha configuración que mencionas?

Bien, primero, como toda conexión con alguna base de datos es necesario configurar (cadena de conexión y driver o conector). En Hibernate esto cambia, porque no se hace embebido en la aplicación.

Ahora puede surgir la duda:

¿Cómo que no va dentro de la aplicación o embebido?

Lo que quiero decir es que Hibernate se configura por medio de archivos, es decir, que un archivo (ya sea xml o properties) contiene la cadena de conexión. Pondré los ejemplos de una configuración común y una configuración de hibernate:

Primero la conexión común:

void configConexion(String user,
————————–String pass,
————————–String servidor,
————————–String puerto,
————————–String dbase){
—–Class.forName(“org.gjt.mm.mysql.Driver”);
—–java.sql.Connection conexion = DriverManager.getConnection(“jdbc:mysql://”+servidor+
—————————————————————————————————-“:”+puerto+
—————————————————————————————————-“/”+dbase,
—————————————————————————————————-user,
—————————————————————————————————-pass);
}

Ahora la conexión con hibernate, primero se necesita un archivo xml, el cual (si solo te conectarás con 1 servidor y a 1 DB, se llamará “hibernate.cfg.xml”:

<?xml version=”1.0″?>
<!DOCTYPE hibernate-configuration PUBLIC
“-//hibernate/hibernate Configuration DTD 3.0//EN”
<hibernate-configuration>
<session-factory>
<property name=”hibernate.connection.driver_class”>org.gjt.mm.mysql.Driver</property>
<property name=”hibernate.connection.url”>jdbc:mysql://[un_servidor]/[una_DB]</property>
<property name=”hibernate.connection.username”>[usuario]</property>
<property name=”hibernate.connection.password”>[contraseña]</property>
<property name=”dialect”>org.hibernate.dialect.MySQLDialect</property>
<property name=”transaction.factory_class”>org.hibernate.transaction.JDBCTransactionFactory</property>
<mapping resource=”miPack/Libro.hbm.xml” />
</session-factory>
</hibernate-configuration>

Después para iniciar la conexión necesitamos lo siguiente:

void ConnectDataBase(){
—–org.hibernate.SessionFactory sessionFactory =
—–new Configuration().configure().buildSessionFactory();
}

Cómo se puede apreciar el archivo xml es muy detallado y el método solo cuenta con 1 línea, haciendo esto más simple y entendible. Bueno, el xml es muy detallado pero el método cuenta con una clase poco familiar (para los que no han usado hibernate) esta es ‘SessionFactory’, que para no hacer el cuento largo, es la conexión; a lo que recomiendo que si se utilizará más de 1 base de datos, usen otra ‘SessionFactory’ lo cual puede ser realizado pasando el archivo de conexión (puede ser cualquiera con la extensión ‘.cfg.xml’) al método configure:

void ConnectDataBase(){
//Primera conexión, por defecto con el archivo //hibernate.cfg.xml
—–org.hibernate.SessionFactory sessionFactory =
—–new Configuration().configure().buildSessionFactory();
//Segunda conexión, personalizada con el archivo //myown.cfg.xml
—–org.hibernate.SessionFactory sessionFactoryX =
—–new Configuration()
—–.configure(“myown.cfg.xml”)
—–.buildSessionFactory();
}

Y así es como se configura la conexión a la base de datos a través de hibernate.

Si después de esto no hay errores, quiere decir que ya se ha establecido una conexión con la base de datos.

—————————————

En la siguiente entrada hablaré sobre cómo preparar la OOP para realizar queries. Saludos y gracias por sus visitas.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s