Hibernate archivo de configuración | Java

Hibernate trabaja con un archivo de configuración .xml que nos permite ajustar algunas propiedades y clases que serán mapeadas como entidades; este documento es importante porque contiene datos sobre la base de datos a la que nos estamos conectando. La ubicación del archivo por lo general es la siguiente src/main/resources aquí debemos crear un archivo llamado hibernate.cfg.xml.

Las siguientes propiedades son suficientes para comenzar a persistir datos con este framework:
  • hibernate.dialect el dialecto especifica el tipo de base de datos utilizada para que Hibernate genere el tipo apropiado de declaraciones SQL. Para conectar cualquier aplicación con la base de datos, es necesario proporcionar la configuración del dialecto SQL.
  • hibernate.connection.driver_class representa la clase de controlador JDBC, es decir la librería que normalmente ofrecen los gestores de base de datos.
  • hibernate.connection.username el nombre de usuario para ingresar a la base de datos.
  • hibernate.connection.password la contraseña para acceder a la base de datos.
  • hibernate.connection.url la dirección URL donde se ubica la base de datos generalmente comienza con jdbc:databasename://.
  • connection.pool_size el número máximo de conexiones agrupadas, ten en cuenta que esta propiedad no la debes usar en un ambiente de producción es solo para comenzar, ya que Hibernate te proporciona esto como algo rudimentario y no está hecho para proporcionar el mejor rendimiento y estabilidad.
  • hbm2ddl.auto esta propiedad es opcional, ya que está te sirve en caso de que vayas a crear las tablas desde las entidades; debes tener cuidado porque puedes borrar todos los datos.
  • show_sql opcional para que Hibernate te muestre todas las consultas que está realizando en SQL.
  • format_sql opcional para que Hibernate le de formato a SQL y no te muestre como una línea entera de consultas. Esta propiedad y la anterior te puede servir para hacer pruebas de cómo se están ejecutando las consultas.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL10Dialect</property>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/facturation_system</property>

        <property name="connection.pool_size">1</property>
        <property name="hbm2ddl.auto">create-drop</property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>

        <mapping class="model.ProductCategory" />

    </session-factory>
</hibernate-configuration>
En este caso estamos usando PostgreSQL 11 por lo tanto el dialecto es PostgreSQL10Dialect para especificar que usamos una versión posterior a la 10, ya que Hibernate 5.4 lo tiene como el más actual en cuanto al dialecto de PostgreSQL, en cuanto a la generación de esquemas automático (hbm2ddl.auto) lo tenemos como create-drop, cada vez que iniciamos hibernate vuelve a generar todos los esquemas y tablas eliminando todos los datos.

Por último en la etiqueta mapping simplemente decimos el paquete y clase que está marcada como entidad y en este caso tenemos una clase marcada como entidad denominada ProductCategory que esta en el paquete model. Debes agregar todas las etiquetas mapping con cada clase marcada como entidad para que Hibernate sepa cuales son las clases que puede persistir.

← Anterior

Siguiente →

Comentarios

Entradas populares