Jakarta Persistence

Enterprise BeansEdit

Specifikace EJB 3.0 (která je sama součástí platformy Java EE 5) obsahovala definici rozhraní Java Persistence API. Koncoví uživatelé však nepotřebují kontejner EJB ani aplikační server Java EE, aby mohli spouštět aplikace využívající toto rozhraní API persistence. Budoucí verze rozhraní Java Persistence API budou definovány v samostatné JSR a specifikaci, nikoli v JSR/specifikaci EJB.

Rozhraní Java Persistence API nahrazuje řešení persistence EJB 2.0 CMP (Container Managed Persistence).

Java Data Objects APIEdit

Hlavní článek: Rozhraní Java Data Objects

Rozhraní Java Persistence API bylo částečně vyvinuto s cílem sjednotit rozhraní Java Data Objects API a rozhraní EJB 2.0 Container Managed Persistence (CMP). Od roku 2009 podporuje většina produktů podporujících každé z těchto rozhraní API rozhraní Java Persistence API.

Rozhraní Java Persistence API specifikuje perzistenci pouze pro relační systémy správy databází. To znamená, že JPA se zaměřuje na objektově-relační mapování (ORM) (všimněte si, že existují poskytovatelé JPA, kteří podporují i jiné databázové modely než relační databáze, ale to je mimo rámec toho, pro co bylo JPA navrženo). Objasnění úlohy JPA naleznete v úvodu oddílu 1 specifikace JPA 2, kde se zcela jasně uvádí: „Technickým cílem této práce je poskytnout vývojáři aplikací v jazyce Java možnost objektově-relačního mapování pomocí doménového modelu jazyka Java pro správu relační databáze.“

Specifikace Java Data Objects podporuje ORM a také persistenci do jiných typů databázových modelů, například databází plochých souborů a databází NoSQL, včetně dokumentových databází, grafových databází a také doslova jakéhokoli jiného myslitelného datového skladu.

Service Data Object APIEdit

Hlavní článek: Cílem tvůrců rozhraní Java Persistence API bylo zajistit relační perzistenci, přičemž mnoho klíčových oblastí bylo převzato z nástrojů pro objektově-relační mapování, jako jsou Hibernate a TopLink. Java Persistence API vylepšilo a nahradilo EJB 2.0, o čemž svědčí jeho začlenění do EJB 3.0. API Service Data Objects (SDO) (JSR 235) má zcela odlišný cíl než Java Persistence API a je považováno za doplňkové. Rozhraní SDO API je určeno pro architektury orientované na služby, více datových formátů, nikoli pouze relační data, a více programovacích jazyků. Java Community Process spravuje Java verzi SDO API; C++ verze SDO API je spravována prostřednictvím OASIS.

HibernateEdit

Hlavní článek: Hibernate (framework)

Hibernate je open source framework pro objektově-relační mapování v jazyce Java. Verze 3.2 a novější poskytují implementaci pro rozhraní Java Persistence API. Projekt Hibernate založil Gavin King. Zastupoval společnost JBoss ve skupině odborníků JCP JSR 220 pověřené vývojem JPA. To vedlo k neustálým sporům a spekulacím ohledně vztahu mezi JPA a Hibernate. Společnost Sun Microsystems uvedla, že nápady pocházejí z několika frameworků, včetně Hibernate a Java Data Objects.

Spring Data JPAEdit

Implementace abstrakce úložiště, která je klíčovým stavebním prvkem Domain-Driven Design, založená na aplikačním frameworku Java Spring. Transparentně podporuje všechny dostupné implementace JPA a podporuje operace CRUD i pohodlné provádění databázových dotazů.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *