logo

JPA vs. Hibernate

Ce este JPA?

Un JPA (Java Persistence API) este o specificație a Java care este utilizată pentru a accesa, gestiona și persiste date între obiectul Java și baza de date relațională. Este considerată o abordare standard pentru cartografierea obiectelor relaționale.

lista java a

JPA poate fi văzută ca o punte între modelele de domenii orientate pe obiecte și sistemele de baze de date relaționale. Fiind o specificație, JPA nu efectuează nicio operațiune de la sine. Prin urmare, necesită implementare. Deci, instrumentele ORM precum Hibernate, TopLink și iBatis implementează specificațiile JPA pentru persistența datelor.


Ce este Hibernate?

Un Hibernate este un cadru Java care este folosit pentru a stoca obiectele Java în sistemul de baze de date relaționale. Este un instrument open-source, ușor, ORM (Object Relational Mapping).

Hibernate este o implementare a JPA. Deci, urmează standardele comune furnizate de JPA.

topologii

Nevoia de JPA

După cum am văzut până acum, JPA este o specificație. Oferă prototip și funcționalitate comune instrumentelor ORM. Prin implementarea aceleiași specificații, toate instrumentele ORM (cum ar fi Hibernate, TopLink, iBatis) urmează standardele comune. În viitor, dacă dorim să trecem aplicația noastră de la un instrument ORM la altul, o putem face cu ușurință.


JPA vs. Hibernate

JPA Hibernează
Java Persistence API (JPA) definește gestionarea datelor relaționale în aplicațiile Java. Hibernate este un instrument ORM (Object-Relational Mapping) care este folosit pentru a salva starea obiectului Java în baza de date.
Este doar o specificație. Diverse instrumente ORM îl implementează pentru persistența datelor. Este una dintre cele mai frecvent utilizate implementări JPA.
Este definit în javax.persistență pachet. Este definit în org.hibernare pachet.
The EntityManagerFactory interfața este utilizată pentru a interacționa cu fabrica de manager de entități pentru unitatea de persistență. Astfel, oferă un manager de entitate. Folosește SessionFactory interfață pentru a crea instanțe de sesiune.
Folosește EntityManager interfață pentru a crea, citi și șterge operațiuni pentru instanțe ale claselor de entități mapate. Această interfață interacționează cu contextul de persistență. Folosește Sesiune interfață pentru a crea, citi și șterge operațiuni pentru instanțe ale claselor de entități mapate. Se comportă ca o interfață de rulare între o aplicație Java și Hibernate.
Folosește Java Persistence Query Language (JPQL) ca limbaj de interogare orientat pe obiecte pentru a efectua operațiuni de bază de date. Folosește Limbajul de interogare Hibernate (HQL) ca limbaj de interogare orientat pe obiecte pentru a efectua operațiuni de bază de date.