Autoescaneo de entidades de Hibernate con Spring

Autoescaneo de entidades de Hibernate con Spring

 

Índice de contenidos.

1. Introducción

En este breve tutorial vamos a ver una utilidad de Spring que nos servirá para autoescanear las entidades de Hibernate (@Entity) de manera que no tengamos que añadirlas al fichero hibernate.cfg.xml lo que nos ayudará a escribir menos código de configuración.

Para hacer las pruebas me basaré en el código fuente del siguiente tutorial.

El código fuente del ejemplo lo puedes descargar de aquí.

2. Entorno

  • MacBook Pro 15′ (2.4 GHz Intel Core i5, 4GB DDR3 SDRAM).
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.4
  • JDK 1.6.0_20
  • Spring 3.0.4
  • Hibernate Core 3.3.2.GA

3. Configuración

Lo primero, y único, que hay que hacer es configurar el bean AnnotationSessionFactoryBean como sessionFactory en nuestro fichero de configuración de Spring, el applicationContext.xml. Este bean es una subclase de LocalSessionFactoryBean y se encarga de escanear los paquetes en busca de las entidades que tengamos.

A través de la propiedad packagesToScan indicamos el paquete a partir del cual se encuentran nuestras entidades del modelo de datos anotadas con @Entity.

Otra posibilidad es indicarle a Spring directamente nuestras entidades a través de la propiedad annotatedClasses aunque esta opción no nos aporta tanto como la anterior ya que nos obliga a meter una a una todas las entidades que tengamos en el proyecto, lo mismo que teníamos que hacer anteriormente en el fichero hibernate.cfg.xml.

4. Conclusiones

Una vez más comprobamos los beneficios que nos aporta el Framework Spring, para nosotros fundamental en nuestros desarrollos. De manera sencilla mediante la configuración de uno de sus beans podemos escanear el classpath en busca de las entidades para facilitarnos en gran medida la configuración.

Espero que te haya servido de ayuda.

Un saludo. Juan.