Reimplementar administración de Usuarios en nuestra aplicación PrimeFaces/JSF/Spring/Hibernate (Parte 1/2)

Con el fin de implementar la persistencia de las cuentas de usuario con Hibernate, vamos a realizar una serie de cambios en nuestra aplicación. En esta primera parte solo inicializaremos las cuentas de usuario de los clientes y la cuenta admin, pero nos servirá para reforzar lo que hemos venido haciendo en capítulos anteriores.

 

Migrando la lista de ventas a Hibernate en nuestra aplicación PrimeFaces/JSF/Spring/Hibernate

En esta ocasión, siguiendo con nuestra aplicación PrimeFaces, migraremos la obtención de la lista de ventas para que sea manejada por Hibernate. De esta manera comprobaremos la capacidad de utilizar consultas SQL nativas parametrizadas de Hibernate.
 

Mejorando el uso de Hibernate en nuestra aplicación PrimeFaces/JSF/Spring

Imagen eliminada.Vamos a mejorar el uso de Hibernate en nuestra aplicación web utilizando una versión mejorada de Hibernate Util, creando una sesión Hibernate por petición web y encapsulándola en su propio hilo, unificando el tratamiento de excepciones e implementando el patron DAO.

Agregar soporte para Hibernate a nuestra Aplicación PrimeFaces/JSF/Spring

Imagen eliminada.Como hacer para que nuestra aplicación tenga soporte para utilizar un mapeador Objeto-Relacional (ORM), particularmente Hibernate.

Hoy en día el uso de los ORM está muy extendido y facilita enormemente la tarea de la persistencia y el mantenimiento de la aplicación, además de dar solución a diferentes problemas inherentes a la temática, por ejemplo: validaciones, caching, logging, tuning, independencia del SGBDR, etc. Hibernate es el ORM Open Source más usado y robusto de que disponemos.

Internacionalizando nuestra aplicación PrimeFaces/JSF/Spring

Siguiendo con la construcción de la aplicación PrimeFaces/JSF/Spring, vamos a agregar la característica de Localización (I10N) mediante el agregado de componentes de Internacionalización (I18N). Un locale es un conjunto de parámetros que define el idioma, país y cualquier otra preferencia especial que el usuario desee ver en su interfaz de usuario.

Generalmente un identificador de locale consiste como mínimo de un identificador de idioma y un identificador de región. Con JSF es fácil de implementar.

Integrar Spring en nuestro proyecto JSF/PrimeFaces

En esta ocasión, la idea es incorporar Spring al proyecto JSF/PrimeFaces que venimos desarrollando.

Antes de comenzar diré un par de palabras sobre Spring, comencemos por decir que es uno de los frameworks más extendidos para desarrollo de aplicaciones Java que requieran escalar, fácil mantenimiento y testing entre otras cosas.

 

Una tabla con datos de una base de datos MySQL con PrimeFaces (Paso a paso)

Imagen eliminada.Veremos cómo crear con PrimeFaces una tabla que mostrará datos de una base de datos MySQL. Además está tabla permitirá ordenar y filtrar y paginar los datos.

Nos basamos en el proyecto inicial creado en el post: "Primeros pasos con PrimeFaces, Eclipse y Tomcat (Paso a paso)"
 

Primeros pasos con PrimeFaces, Eclipse y Tomcat (Paso a paso)

Gauge de Primefaces

Vamos a crear un proyecto web dinámico utilizando Eclipse 4.3 Kepler con WTP en el cual habilitaremos JSF y PrimeFaces.

El proyecto y el post no son muy pretenciosos, solo veremos como implementar algunos componentes para que quede la idea de la facilidad con la que se trabaja utilizando esta suite.