icono_twiter icono LinkedIn
Juan Alonso Ramos

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática, especialidad en Ingeniería del Software

Puedes encontrarme en Autentia: Ofrecemos de servicios soporte a desarrollo, factoría y formación

Somos expertos en Java/J2EE

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2010-12-17

Tutorial visitado 6.392 veces Descargar en PDF
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.



	
	
	
		classpath:${hibernate.cfg.file}
	
	
		
			${hibernate.dialect}
		
	
	
		
			com.autentia.tutoriales.entity
		
	


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.



	
	
	
		classpath:${hibernate.cfg.file}
	
	
		
			${hibernate.dialect}
		
	
	
	    
	       com.autentia.tutoriales.entity.Footballer
	    
    


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.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2011-01-18-11:02:55

Autor: jcarmonaloeches

Muy interesante y directo al grano!

Fecha publicación: 2010-12-21-08:22:54

Autor: jalonso

Muchas gracias por la aportación Jose.

Fecha publicación: 2010-12-20-17:17:13

Autor: jmsanchez

Hola Juan,

Muchas gracias por el tutorial!!!.

Solo un apunte, en el valor de la colección de packagesToScan, por defecto el escaneo no es recursivo. Si quieres que sea recursivo para que, por ejemplo, te escanee todas las entidades del paquete com.autentia.wuija y de todos los paquetes que cuelgan de él, tienes que usar la siguiente sintaxis: com.autentia.wuija.**.*.

Un saludo.

Jose.

Fecha publicación: 2010-12-20-10:44:57

Autor: jobre

Antes de ejecutar cualquier acción sobre una tabla , se podria saber cuales de sus campos pueden adminitir valores nulos u otros detalles sin usar annotations en los beans.

Lo que busco es validar antes de insertar que alguna columna(en la tabla) no admita valores nulos y cancelar asi la inserción.

Gracias de antemano.