logo

JPA vs. Hibernate

čo je JPA?

JPA (Java Persistence API) je špecifikácia jazyka Java, ktorá sa používa na prístup, správu a uchovávanie údajov medzi objektom Java a relačná databáza. Považuje sa za štandardný prístup pre objektovo relačné mapovanie.

JPA možno vnímať ako most medzi objektovo orientovanými doménovými modelmi a relačnými databázovými systémami. Keďže ide o špecifikáciu, JPA sama o sebe nevykonáva žiadnu operáciu. Preto si vyžaduje implementáciu. Nástroje ORM ako Hibernate, TopLink a iBatis teda implementujú špecifikácie JPA pre perzistenciu údajov.

počítačové siete

Čo je Hibernate?

Hibernate je rámec Java, ktorý sa používa na ukladanie objektov Java v systéme relačnej databázy. Je to open source, ľahký nástroj ORM (Object Relational Mapping).

ako vymyslel školu

Hibernate je implementácia JPA. Riadi sa teda spoločnými normami, ktoré poskytuje Spoločné parlamentné zhromaždenie.


Potreba JPA

Ako sme doteraz videli, JPA je špecifikácia. Poskytuje spoločný prototyp a funkčnosť nástrojov ORM. Implementáciou rovnakej špecifikácie sa všetky nástroje ORM (ako Hibernate, TopLink, iBatis) riadia bežnými štandardmi. V budúcnosti, ak budeme chcieť prepnúť našu aplikáciu z jedného ORM nástroja na druhý, môžeme to urobiť jednoducho.


JPA vs. Hibernate

JPA Hibernácia
Java Persistence API (JPA) definuje správu relačných údajov v aplikáciách Java. Hibernate je nástroj Object-Relational Mapping (ORM), ktorý sa používa na uloženie stavu objektu Java do databázy.
Je to len špecifikácia. Rôzne nástroje ORM ho implementujú na zachovanie údajov. Je to jedna z najčastejšie používaných implementácií JPA.
Je definovaný v javax.vytrvalosť balík. Je definovaný v org.hibernovať balík.
The EntityManagerFactory rozhranie sa používa na interakciu s továrňou správcu entity pre jednotku perzistencie. Poskytuje teda manažéra entity. Používa sa SessionFactory rozhranie na vytváranie inštancií relácie.
Používa sa EntityManager rozhranie na vytváranie, čítanie a mazanie operácií pre inštancie tried mapovaných entít. Toto rozhranie interaguje s kontextom pretrvávania. Používa sa Relácia rozhranie na vytváranie, čítanie a mazanie operácií pre inštancie tried mapovaných entít. Správa sa ako runtime rozhranie medzi Java aplikáciou a Hibernate.
Používa sa Dotazovací jazyk Java Persistence Query Language (JPQL) ako objektovo orientovaný dotazovací jazyk na vykonávanie databázových operácií. Používa sa Hibernate Query Language (HQL) ako objektovo orientovaný dotazovací jazyk na vykonávanie databázových operácií.