TUTORIAL JPA 2.1
El presente tutorial tiene como finalidad mostrar los aspectos básicos de la especificación de Java JPA (API de Persistencia de Java por sus siglas en inglés). Se cubrirán los aspectos más básicos de ésta API para que el lector se dé cuenta del potencial que nos ofrece y que se puede aplicar en nuestros proyectos. Así mismo,
¿QUÉ ES JPA?
Como en todo proceso de aprendizaje, primero debes saber qué es exactamente el objeto de nuestro estudio. JPA como ya dijimos es el API para la persistencia en Java, pero, ¿qué es en concreto? Bien, JPA es un ORM, aunque no propiamente. Explicaremos esto en detalle a continuación.
La Java Community Process (JCP), es la encargada de las especificaciones en Java. ¿Qué quiero decir con especificaciones? Pues, una especificación no es más que un estándar. La JCP propone un estándar y si por mayoría de votos se acepta la proposición, se designa un equipo experto para que trabaje en ella. Aquí el equipo se encarga de definir la estructura de la especificación, sus características y forma de trabajar. Pero no podemos empezar a trabajar con una especificación si no tiene una implementación. Una implementación es una representación real de dicha especificación. Es como en el mismo lenguaje, una interface vendría a ser la especificación y una clase que implemente dicha interface vendría a ser la implementación o representación. Así mismo, la JCP puede o no realizar la implementación de una especificación, como lo hizo con Servlet, JAXB, JMS, JAAS, y algunos otros.
Comprendido lo anteriormente explicado, se procede a listar las mejores implementaciones de JPA:
• Hibernate
• EclipseLink
• MyBatis
Hibernate y MyBatis se pueden usar nativamente, es decir, sin usar a JPA como interfaz o también con JPA. En éste tutorial se usará Hibernate por ser el más adoptado por los desarrolladores.
PREPARANDO NUESTRO ENTORNO DE TRABAJO
Primero que todo, vamos a disponer del siguiente material:
•
JDK 8•
Eclipse Luna•
Hibernate 4.3.8 (opcional, porque usaremos Maven).
•
MySQL 5.6•
MySQL JDBC (opcional, usaremos Maven).
•
MySQL Workbench 6.2.5Instalación de MySQL como servicioNos dirigimos a “C:\Program Files\MySQL\MySQL Server 5.6” y renombramos el archivo “my-default.ini” a “my.ini”. Lo editamos y al final agregamos la línea:
Ahora, abrimos la terminal como Administrador y nos dirigimos hacia “bin”. Aquí ejecutaremos el comando:
Y ya tenemos MySQL instalado como servicio. Si no está corriendo lo iniciamos.
CREACIÓN DE LA BASE DE DATOS
Creación de la base de datos y la tabla EmployeesAbrimos MySQL Workbench e iniciamos sesión. En el editor SQL escribimos el siguiente código para crear nuestra base de datos “jpa2_tuto” y nuestra primera tabla “employees”: