logo

JPA proti Hibernate

Kaj je JPA?

JPA (Java Persistence API) je specifikacija Jave, ki se uporablja za dostop, upravljanje in ohranjanje podatkov med objektom Java in relacijsko bazo podatkov. Velja za standardni pristop za objektno relacijsko preslikavo.

model tcp ip

JPA lahko razumemo kot most med objektno usmerjenimi domenskimi modeli in sistemi relacijskih baz podatkov. Ker je specifikacija, JPA ne izvaja nobene operacije sam. Zato zahteva izvedbo. Torej orodja ORM, kot so Hibernate, TopLink in iBatis, izvajajo specifikacije JPA za obstojnost podatkov.


Kaj je Hibernate?

Hibernate je ogrodje Java, ki se uporablja za shranjevanje objektov Java v sistem relacijske baze podatkov. Je odprtokodno, lahko orodje ORM (Object Relational Mapping).

Hibernate je implementacija JPA. Torej sledi skupnim standardom, ki jih zagotavlja JPA.


Potreba po JPA

Kot smo videli do sedaj, je JPA specifikacija. Orodjem ORM zagotavlja skupni prototip in funkcionalnost. Z implementacijo iste specifikacije vsa orodja ORM (kot so Hibernate, TopLink, iBatis) sledijo skupnim standardom. Če bomo v prihodnosti želeli našo aplikacijo preklopiti z enega orodja ORM na drugega, bomo to zlahka storili.


JPA proti Hibernate

JPA Hibernacija
Java Persistence API (JPA) definira upravljanje relacijskih podatkov v aplikacijah Java. Hibernate je orodje za objektno-relacijsko preslikavo (ORM), ki se uporablja za shranjevanje stanja predmeta Java v bazo podatkov.
To je samo specifikacija. Različna orodja ORM ga izvajajo za obstojnost podatkov. Je ena najpogosteje uporabljenih implementacij JPA.
Opredeljena je v javax.persistence paket. Opredeljena je v org.hibernate paket.
The EntityManagerFactory vmesnik se uporablja za interakcijo s tovarno upravitelja entitete za enoto obstojnosti. Tako zagotavlja upravitelja subjekta. Uporablja se SessionFactory vmesnik za ustvarjanje primerkov Session.
Uporablja se EntityManager vmesnik za ustvarjanje, branje in brisanje operacij za primerke preslikanih razredov entitet. Ta vmesnik je v interakciji s kontekstom obstojnosti. Uporablja se Seja vmesnik za ustvarjanje, branje in brisanje operacij za primerke preslikanih razredov entitet. Obnaša se kot vmesnik med izvajanjem med aplikacijo Java in Hibernate.
Uporablja se Java Persistence Query Language (JPQL) kot objektno usmerjen poizvedovalni jezik za izvajanje operacij baze podatkov. Uporablja se Hibernate Query Language (HQL) kot objektno usmerjen poizvedovalni jezik za izvajanje operacij baze podatkov.