ejemplos java hibernate jpa orm

java - ejemplos - JPA vs ORM vs Hibernate?



jpa java (4)

  1. ORM es el enfoque de tomar datos orientados a objetos y mapeo a un almacén de datos relacional (por ejemplo, un RDBMS)

  2. Hibernate es una implementación de un marco ORM

  3. JPA es la especificación estándar EE para ORM en Java EE. Hibernate también es una implementación de esta especificación, en la que puede usar las API JPA estándar y configurar su aplicación para usar Hibernate como proveedor de las especificaciones debajo de las cubiertas.

Las características que proporciona Hibernate también son un superconjunto de las características ORM especificadas en la especificación JPA. Lo que significa que, si bien proporciona una implementación de la API api, también proporciona más características más allá de lo que especifica JPA.

He leído sobre ellos a través de varios recursos. Importantes son:

  1. Artículo de Wikipedia sobre cada uno de ellos
  2. ¿Cuál es la diferencia entre JPA e Hibernate?

Aquí está mi entendimiento sobre cuál es la diferencia b / w ellos. No estoy seguro de si estoy en lo cierto acerca de JPA vs ORM

  1. ORM: Asignación relacional de objetos es el concepto / proceso de convertir los datos del lenguaje orientado a objetos a DB relacional y viceversa. Por ejemplo, en java se hace con la ayuda de reflection y jdbc.

  2. Hibernate: es la implementación del concepto anterior.

  3. JPA: es un paso por encima de ORM. Su API y especificación de alto nivel para que las diferentes herramientas ORM puedan implementarse, de modo que brinde la flexibilidad al desarrollador para cambiar la implementación de un ORM a otro (por ejemplo, si la aplicación usa la API api y la implementación está hibernada. En el futuro, puede cambiar a IBatis si es necesario. Pero por otro lado, si la aplicación bloquea directamente la implementación con Hibernate sin la plataforma JPA, el cambio será una tarea hercúlea)

Puede haber implementación de ORM con / sin especificación de JPA. Por ejemplo, según este link en la sección de hibernación, solo las versiones de Hibernate 3.2 y posteriores proporcionan una implementación para la API de persistencia de Java.


El único error que parecías hacer en tu comprensión es

Es el paso por encima de ORM

Una nota rápida: las bibliotecas que comienzan con javax.persistence están asociadas con JPA. Deberías preferir estos sobre las bibliotecas de Hibernate siempre que sea posible. Porque estos son portátiles. Sin embargo, obtendrá algunas características adicionales en Hibernate, y en esos casos precisos, no dude en utilizar Hibernate.


JPA es una interfaz, mientras que Hibernate es su realización. Las anotaciones de JPA 2 son código de regla frente a una interfaz, no se aplica una implementación. JPA es solo una guía para implementar el mapeo relacional de objetos (ORM) y no hay un código subyacente para la implementación. Hibernate es la implementación real de las pautas JPA.


http://ormlite.com/sqlite_java_android_orm.shtml

Object Relational Mapping Lite (ORM Lite) proporciona algunas funcionalidades livianas para objetos persistentes de Java en bases de datos SQL, al tiempo que evita la complejidad y la sobrecarga de paquetes de ORM más estándar. Admite varias bases de datos SQL mediante JDBC y también admite Sqlite con llamadas nativas a las API de bases de datos del sistema operativo Android.