Java siempre está en la búsqueda de aplicaciones cada vez más portables, distribuidas, mantenibles, veloces, seguras y confiables. Es por eso que en su versión Enterprise 5 (JEE5), introdujo un API de manejo de persistencia que permite el mapeo objeto/relacional en Enterprise Beans, Web Beans o incluso dentro de Java SE. Todo esto a través de anotaciones sencillas que permiten enlazar correctamente el mundo de los objetos de Java con el mundo Entidad/Relación de las bases de datos.

Entre los beneficios que trae JPA están:

  • Está totalmente basado en estándares de la industria, de manera que es compatible con la mayoría de proveedores de persistencia como Hibernate, TopLink y demás.
  • Reduce la complejidad al momento de programar ya que incluye nuevas anotaciones al estándar EJB 3.0. Por ejemplo si se desea crear la entidad “Persona”, simplemente se anota a la clase “Persona.java” con @Entity. De esa manera JPA le indicará al proveedor de persistencia que esa clase debe ser (valga la redundancia) persistida a un almacén de datos como una base de datos, en forma de una tabla llamada “Persona”. El proveedor de persistencia se encargará a su vez de negociar en el lenguaje propio de la base de datos (MySQL , Oracle, Postgres, etc. Dependiendo del proveedor de persistencia).
  • Así mismo para especificar los atributos de las entidades, con JPA se introducen anotaciones que permiten determinar las propiedades de los atributos que se convertirán en columnas de las tablas. Dentro de estas anotaciones se incluye defaults para que JPA reconozca los nombres, tipo de datos y otras características de los atributos sin que éstos sean indicados explícitamente.
  • Con las anotaciones de JPA se puede también indicar las relaciones entre las entidades. Un ejemplo es la relación “muchos a uno” que se mapea con la anotación @ManyToOne. Igualmente soporta defaults y una gran cantidad de opciones para el mapeo deseado. Se elimina el uso de archivos XML como descriptores del mapeo ( en EJB 2.1 existen así) de manera que en ciertos casos el simple uso de JPA con sus defaults basta.
  • Incluye la tecnología JPA QL ( Quero Lenguaje) para realizar operaciones DML o consultas. Es una mejora a EJB QL que no permitía borrado o actualización masiva de datos. JPA QL permite hacer operaciones DML estáticas o dinámicas.

En resumen a través de JPA se puede convertir los POJOs en entidades persistibles de manera sencilla y  eficiente mejorando la productividad y portabilidad entre plataformas, bases de datos y servidores de aplicaciones. Sigue estándares y especificaciones Java y es compatible con varios proveedores de persistencia. Usa anotaciones básicas que soportan defaults y muchas de las operaciones válidas dentro de una base de datos.

TrackBack URI | RSS feed for comments on this post


Leave a reply