JPA vs Hibernate ¿Cual es la diferencia?

por Sep 7, 2016Elastic Cloud1 Comentario

Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataforma Java EE. La cual es un framework del lenguaje de programación Java, que maneja datos relacionales en aplicaciones usando la plataforma Java en sus ediciones Standard (Java SE) y Enterprise (Java EE).

Por su parte, Hibernate es una herramienta de Mapeo objeto-relacional (ORM), para la plataforma Java – también disponible para .Net, bajo el nombre de NHibernate – que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación; mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones. Este es software libre, distribuido bajo los términos de la licencia GNU LGPL.

Es importante destacar que JPA es una parte de la especificación de EJB 3, es decir que no es un framework, sino que es simplemente un documento en el cual se especifica los principios básicos de gestión de la capa de persistencia en el mundo de Java EE. En cambio, Hibernate, si se trata de un framework que gestiona la capa de persistencia a través de ficheros xml o anotaciones.

La nube elástica de Facilcloud permite trabajar con esta herramienta.

jpa vs hibernate

Relación entre JPA e Hibernate

La relación que existe entre JPA e Hibernate, radica en que este último implementa como parte de su código la especificación de JPA; es decir que se puede usar Hibernate para construir una capa de persistencia apoyándose en las definiciones y reglas que la especificación de JPA, aunque esto no sea obligatorio.

Sin embargo, esto no quiere decir que Hibernate simplemente implemente el standard de JPA; Hibernate es mucho más grande que la especificación de JPA y añade más funcionalidad.

Banner Facilcloud_728 x 90

Hibernate y NoSQL

Una de las características más relevante de Hibernate, es que soporta la capacidad para trabajar con bases de datos NoSQL; algo que JPA no cubre. Este soporte hace que Hibernate permita trabajar con bases de datos tipo MongoDB -orientadas a documentos -, siempre y cuando se utilice Hibernate de forma directa y apoyada en las anotaciones propietarias que utiliza para soportar este nuevo tipo de base de datos.

Sobre el autor

1 Comentario

  1. Alfredo

    Estimada. JPA no es un framework , Hibernate si lo es , JPA es un API

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.