logo

JPA vs. Hibernate

Mikä on JPA?

JPA (Java Persistence API) on Java-spesifikaatio, jota käytetään Java-objektin ja relaatiotietokannan väliseen dataan pääsyyn, hallintaan ja säilytykseen. Sitä pidetään vakiolähestymistavana objektien relaatiokartoituksessa.

polymorfismi javassa

JPA voidaan nähdä siltana olio-toimialuemallien ja relaatiotietokantajärjestelmien välillä. Spesifikaationa JPA ei suorita mitään toimintoa itse. Se vaatii siis täytäntöönpanoa. Joten ORM-työkalut, kuten Hibernate, TopLink ja iBatis, toteuttavat JPA-määritykset tietojen pysyvyyttä varten.


Mikä on Hibernate?

Hibernate on Java-kehys, jota käytetään Java-objektien tallentamiseen relaatiotietokantajärjestelmään. Se on avoimen lähdekoodin, kevyt, ORM (Object Relational Mapping) -työkalu.

Hibernate on JPA:n toteutus. Joten se noudattaa yhteisen edustajakokouksen antamia yhteisiä standardeja.


JPA:n tarve

Kuten olemme toistaiseksi nähneet, JPA on eritelmä. Se tarjoaa yhteisen prototyypin ja toiminnallisuuden ORM-työkaluille. Toteuttamalla saman spesifikaation kaikki ORM-työkalut (kuten Hibernate, TopLink, iBatis) noudattavat yhteisiä standardeja. Jos haluamme tulevaisuudessa vaihtaa sovelluksemme yhdestä ORM-työkalusta toiseen, voimme tehdä sen helposti.


JPA vs. Hibernate

JPA Lepotila
Java Persistence API (JPA) määrittää relaatiotietojen hallinnan Java-sovelluksissa. Hibernate on Object-Relational Mapping (ORM) -työkalu, jota käytetään Java-objektin tilan tallentamiseen tietokantaan.
Se on vain erittely. Useat ORM-työkalut toteuttavat sen tietojen pysyvyyden varmistamiseksi. Se on yksi yleisimmin käytetyistä JPA-toteutuksista.
Se on määritelty kohdassa javax.persistence paketti. Se on määritelty kohdassa org.hibernate paketti.
The EntityManagerFactory käyttöliittymää käytetään vuorovaikutukseen pysyvyysyksikön entiteettienhallintatehtaan kanssa. Siten se tarjoaa kokonaisuuden johtajan. Se käyttää SessionFactory käyttöliittymä istuntoesiintymien luomiseen.
Se käyttää EntityManager käyttöliittymä yhdistettyjen entiteettiluokkien esiintymien luomiseen, lukemiseen ja poistamiseen. Tämä käyttöliittymä on vuorovaikutuksessa pysyvyyskontekstin kanssa. Se käyttää Istunto käyttöliittymä yhdistettyjen entiteettiluokkien esiintymien luomiseen, lukemiseen ja poistamiseen. Se toimii ajonaikaisena käyttöliittymänä Java-sovelluksen ja lepotilan välillä.
Se käyttää Java Persistence Query Language (JPQL) oliopohjaisena kyselykielenä tietokantatoimintojen suorittamiseen. Se käyttää Hibernate-kyselykieli (HQL) oliopohjaisena kyselykielenä tietokantatoimintojen suorittamiseen.