EntityManager y el archivo persistence.xml

Tutorial de JPA persistence.xmlEn esta sección hablaremos de cómo crear el archivo persistence.xml y como establecer conexión con la base de datos. Cabe mencionar que para fines de practicidad estaremos trabajando con MySQL, el Gestor de bases de datos relacional más popular del mundo y que además tiene una versión gratuita, por lo cual será necesario que descarguemos e instalemos MySQL, así como el cliente workbench que los puedes descargar directamente desde la página oficial de MySQL.

as

Crear un proyecto JPA

Tutorial de JPAEn la actualidad existe diversos IDE’s que nos permitirán crear proyecto JPA y en general todos ofrecen las mismas opciones por lo que en realidad sea cual sea el IDE que quieras utilizar tendrá el mismo resultado, sin embargo, para este tutorial utilizaremos NetBeans, el cual lo puedes descargar en http://netbeans.org. NetBeans es un proyecto OpenSource por lo que lo podrás descargar libremente y sin ningún costo.

Ahora bien, para maximizar la portabilidad y facilitar las librerías utilizaremos un Maven, la cual es una herramienta para la gestión de dependencias y construcción de proyectos similar a Apache Ant, aunque más potente. Si quieres aprender más de Maven te recomiendo el libro Maven: The Definitive Guide.

Por el momento no te preocupes si no has trabajado con NetBeans o Maven, ya que aquí mismo te diremos paso a paso como hacer todos los pasos para configurar tu proyecto.

Creando un proyecto Maven

Lo primero que tendremos que hacer será abrir NetBeans y en el menú superior pincharemos la opción File >New Project  y nos arrojara la siguiente pantalla:

Projecto JPA - Nuevo as

JPA, Hibernate VS JDBC

JPA HIBERNATE JDBCLos que ya han tenido la oportunidad de trabajar con algún ORM como JPA o Hibernate sabrán las bondades que tiene ya que nos permite desarrollar de una forma mucho mas rápida y con muchos menos errores en tiempo de ejecución ya que nos permite modelar nuestras entidad como Clases Java las cuales serán convertidas a las instrucciones Insert, Update o Select según sea la operación a realizar. Claro que todas estos beneficios tiene un costo y es que el performance se degrada debido a todas las conversiones que se tiene que hacer para convertir las Entity en Querys y los ResultSet pasarlos a clases ademas que cada registro representa un Objeto en memoria que tendrá as