Jakarta Persistence

Enterprise BeansEdit

Specificația EJB 3.0 (care face parte din platforma Java EE 5) a inclus o definiție a API-ului Java Persistence. Cu toate acestea, utilizatorii finali nu au nevoie de un container EJB sau de un server de aplicații Java EE pentru a rula aplicații care utilizează această API de persistență. Versiunile viitoare ale API de persistență Java vor fi definite într-un JSR și o specificație separate, mai degrabă decât în JSR/specificația EJB.

API de persistență Java înlocuiește soluția de persistență din EJB 2.0 CMP (Container Managed Persistence).

Java Data Objects APIEdit

Articolul principal: Java Data Objects

Apif de persistență Java a fost dezvoltat în parte pentru a unifica API-ul Java Data Objects, și API-ul EJB 2.0 Container Managed Persistence (CMP). Începând cu 2009, majoritatea produselor care suportă fiecare dintre aceste API-uri acceptă Java Persistence API.

Java Persistence API specifică persistența numai pentru sistemele de gestionare a bazelor de date relaționale. Adică, JPA se concentrează pe cartografierea obiect-relațională (ORM) (rețineți că există furnizori JPA care acceptă și alte modele de baze de date în afară de baza de date relațională, dar acest lucru este în afara domeniului de aplicare pentru care a fost conceput JPA). Pentru clarificarea rolului JPA, consultați secțiunea 1 din introducerea specificației JPA 2, care precizează foarte clar: „Obiectivul tehnic al acestei lucrări este de a furniza o facilitate de cartografiere obiect/relațională pentru dezvoltatorul de aplicații Java care utilizează un model de domeniu Java pentru a gestiona o bază de date relațională.”

Specificația Java Data Objects suportă ORM, precum și persistența către alte tipuri de modele de baze de date, de exemplu baze de date cu fișiere plate și baze de date NoSQL, inclusiv baze de date de documente, baze de date grafice, precum și literalmente orice alt depozit de date imaginabil.

Service Data Object APIEdit

Articol principal: Service Data Objects

Proiectanții API-ului de persistență Java au urmărit să asigure persistența relațională, multe dintre zonele cheie fiind preluate de la instrumentele de cartografiere obiect-relațională, cum ar fi Hibernate și TopLink. Java Persistence API a îmbunătățit și a înlocuit EJB 2.0, fapt evidențiat de includerea sa în EJB 3.0. Service Data Objects (SDO) API (JSR 235) are un obiectiv foarte diferit față de Java Persistence API și este considerată complementară. API SDO este concepută pentru arhitecturi orientate spre servicii, pentru formate de date multiple, mai degrabă decât doar pentru date relaționale, și pentru mai multe limbaje de programare. Java Community Process gestionează versiunea Java a SDO API; versiunea C++ a SDO API este gestionată prin OASIS.

HibernateEdit

Articol principal: Hibernate (framework)

Hibernate oferă un framework open source de cartografiere obiect-relațională pentru Java. Versiunile 3.2 și ulterioare oferă o implementare pentru Java Persistence API. Gavin King a fondat proiectul Hibernate. El a reprezentat JBoss în JSR 220, grupul de experți JCP însărcinat cu dezvoltarea JPA. Acest lucru a dus la controverse și speculații continue cu privire la relația dintre JPA și Hibernate. Sun Microsystems a declarat că ideile au provenit de la mai multe cadre, inclusiv Hibernate și Java Data Objects.

Spring Data JPAEdit

O implementare a abstracției depozitului care este o componentă cheie a Domain-Driven Design bazată pe cadrul de aplicații Java Spring. Suportă în mod transparent toate implementările JPA disponibile și suportă operațiile CRUD, precum și executarea comodă a interogărilor în baza de date.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *