Spring Vaadin Hibernate Tutorial > 6. DAO a Repositorio

Escrito por 17 mayo, 2016Desarrollo de software
Tutorial Spring Vaadin HIbernate, DAO a Repositorio

En este sexto paso del tutorial Spring Vaadin Hibernate vamos a mejorar un poco lo realizado hasta ahora, ayudándonos de los denominados Repositorios.

En la anterior entrada de este mismo tutorial, creábamos los DTO, DAO y Services asociados a nuestras entidades. Una vez entendidos estos conceptos podemos dar un paso más allá, eliminando los DAO y añadiendo en su lugar Repositorios. ¿Pero por qué este cambio a estas alturas? En este punto sabemos que utilizando los DAO nos vemos obligados a crear e implementar un método específico para cada consulta necesaria. Pero lo que no sabíamos hasta ahora es que Spring es capaz de proveernos de Repositorios, que permiten ahorrarnos gran parte de estas consultas.

Los repositorios son generados por Spring de forma automática. Pero primero empecemos modificando las estructura de directorios  de nuestro proyecto (si hemos seguido los pasos anteriores sólo tendremos que añadir el directorio repositories):

 

Captura

 

Gracias a los repositorios podremos, de una forma sencilla, añadir nuestras peticiones de datos sin necesidad de estar creando consultas en lenguaje SQL (las consultas más complejas sí requieren algo más de trabajo). Veamos un pequeño ejemplo de un repositorio y sus características especiales:

  • @Repository: anotación para indicarle a Spring que esta interfaz va a ser un repositorio de Spring, por lo que Spring será el encargado de manejar esta interfaz.
  • extends CrudRepository <Address, Integer>: necesitamos heredar de la clase CrudRepository de Spring para que Spring pueda manejar de manera correcta nuestra interfaz. Además, Spring necesita conocer la entidad sobre la que vamos a realizar las consultas, así como el tipo de dato de su clave primaria, que en este caso es un Integer (addressId).
  • findByCityAndState: este método no es necesario que se implemente manualmente puesto que sigue una sintaxis concreta y Spring, gracias a dicha sintaxis, crea la consulta necesaria automáticamente, de manera transparente para el programador. Si queremos ver las diferentes formas de utilizar la sintaxis que necesita Spring para crear consultas podemos visitar la página Spring Data JPA – Reference Documentation. Simplemente hemos conseguido que el método findByCityAndState realice la petición de datos equivalente a la sentencia SQL:
  • @Query: aquellas consultas que requieran ser creadas de manera manual deben llevar esta anotación y en el atributo value debemos indicar la consulta.

Configuraciones adicionales

Para poder hacer uso de los repositorios de Spring, es necesario especificar dónde se encuentran nuestros repositorios en el proyecto. Para ello modificaremos el archivo applicationContext.xml, tal y como se puede ver a continuación:

Ahora ya solo falta sustituir todos los DAO del proyecto por los Repositorios. Puede parecer una pérdida de tiempo el haber desarrollado primeramente los DAO y tener que modificarlos posteriormente por los Repositorios pero suele ser preferible tener una buena base, entender los conceptos clave para poder estudiar las diferentes soluciones existentes que vayan surgiendo día a día y poder siempre elegir la mejor opción a la hora de desarrollar nuestras aplicaciones. Cuanto más grande sea la base, más grande podrá ser la pirámide que queramos construir.

Join the discussion Un comentario

Dejar un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies