Uso de Filtros en Hibernate

0
15803

Filtros en Hibernate

Normalmente las aplicaciones necesitan procesar en cada momento sólo un subconjunto de los datos disponibles.

Aunque se puede conseguir los mismo a través de otros métodos (normalmente consultas HSQL), los filtros nos permiten realizar esta tarea de una forma administrable, parametrizable y centralizada mediante los archivos de mapeo de hibernate.

A continuación vamos a ver un sencillo ejemplo de la creación y el uso de filtros. Para ello crearemos una sencilla BD que almacene datos de empleados, y luego crearemos un filtro para que filtre resultados por el género (masculino o femenino) de cada empleado.

Un ejemplo

Script de creación de la BD MySql.

A continuación vemos la clave Empleado.

Empleado.java

A continuación mostramos una aplicación de escritorio autocomentada en el que se hace uso del filtro (líneas 46, 47 y 53).

SimpleFilterApp.java

A continuación, mostramos el fichero de configuración de Hibernate:

hibernate.cfg.xml

A continuación, mostramos el fichero de mapeo de la clase Empleado:

Empleado.hbm.xml

Sobran comentarios, verdad?? se ve claramente como se definen el filtro (lineas 16, 17 y 18) y como se asocian a las clases (linea 13).

Conclusiones

Aunque los filtros tienen limitaciones, especialmente que no se pueden crear filtros en tiempo de ejecución.
En ciertas ocasiones pueden ser una solución a tener en cuenta, pues nos pueden evitar tener que reescribir las consultas de acceso a los datos
que aparecen a lo largo de la aplicación, estableciendo simplemente los filtros necesarios cuando se crea la sesión.

Un saludo.
Carlos García. Creador de MobileTest.

Dejar respuesta

Please enter your comment!
Please enter your name here