Miért JPA?

Ha a Java adatbáziskezelését nézzük, akkor bizonyosan eszünkbe jut a JDBC (Java DataBase Connectivity). Bár a JDBC gyors, egyszerű, könnyen beállítható, mégis számos kritika éri:

  • Sok ismétlődő (boilerplate) kódot kell írni a használatához
  • Érzékeny a különböző adatbáziskezelők nyelvi variánsaira
  • Nem támogatja az objektumok használatát, ami egy objektumorientált nyelv esetében jelentős probléma

A JPA (Java Persistence API) szabvány és az azt megvalósító (és túl is teljesítő) Hibernate nevű eszköz célja, hogy az objektumokat beállítás után könnyedén tudjuk adatbázisba menteni, és onnan visszaolvasni. (Ezt hívják ORM-nek, azaz object-relational mappingnek).

Mire használható?

Ahogy az lenni szokott, ha egy eszköz hatékony munkát tesz lehetővé, akkor annak a kezelése tudásigényes.

Vegyünk egy példát: Képzeld el, hogy ki akarunk ásni egy nagy lyukat. Ezt megtehetjük egy egyszerű kézi ásóval: megtanulni használni pár perc, de jól elfáradunk, mire végzünk az ásással. Ellenben ha hozatunk egy markológépet, akkor nem is fáradunk el, könnyen és gyorsan megy az egész, és még talán élvezzük is a folyamatot. Csakhogy… Egy markológépet meg kell tanulni kezelni, viszont ha befektetjük az időt és energiát, sokkal könnyebb lesz a munka.

A Hibernate hasonló: Ha megtanultuk, bekonfiguráltuk, akkor nagyon gyorsan lehet vele adatbázisos programokat írni. De azért menet közben is oda kell figyelni, hogy nehogy a programot alapjaiban elrontsuk.