JPA - Wprowadzenie
Każda aplikacja korporacyjna wykonuje operacje na bazach danych, przechowując i pobierając ogromne ilości danych. Pomimo wszystkich dostępnych technologii zarządzania pamięcią masową programiści aplikacji zwykle mają trudności z wydajnym wykonywaniem operacji na bazach danych.
Ogólnie rzecz biorąc, programiści Java używają dużej ilości kodu lub używają zastrzeżonej struktury do interakcji z bazą danych, podczas gdy przy użyciu JPA obciążenie interakcji z bazą danych znacznie się zmniejsza. Stanowi pomost między modelami obiektowymi (program Java) i modelami relacyjnymi (program bazodanowy).
Niedopasowania między modelami relacyjnymi i obiektowymi
Obiekty relacyjne są reprezentowane w formacie tabelarycznym, podczas gdy modele obiektów są reprezentowane na połączonym wykresie formatu obiektowego. Podczas przechowywania i pobierania modelu obiektowego z relacyjnej bazy danych występuje pewna niezgodność z następujących powodów:
Granularity : Model obiektowy ma większą szczegółowość niż model relacyjny.
Subtypes : Podtypy (czyli dziedziczenie) nie są obsługiwane przez wszystkie typy relacyjnych baz danych.
Identity : Podobnie jak model obiektowy, model relacyjny nie ujawnia tożsamości podczas pisania równości.
Associations : Modele relacyjne nie mogą określić wielu relacji podczas przeglądania modelu domeny obiektów.
Data navigation : Nawigacja po danych między obiektami w sieci obiektów jest różna w obu modelach.
Co to jest JPA?
Java Persistence API to zbiór klas i metod do trwałego przechowywania ogromnych ilości danych w bazie danych dostarczanej przez Oracle Corporation.
Gdzie używać JPA?
Aby zmniejszyć obciążenie związane z pisaniem kodów do zarządzania obiektami relacyjnymi, programista stosuje strukturę „JPA Provider”, która umożliwia łatwą interakcję z instancją bazy danych. Tutaj wymagane ramy przejmuje JPA.
Historia WZP
Wcześniejsze wersje EJB, zdefiniowana warstwa trwałości połączona z warstwą logiki biznesowej przy użyciu interfejsu javax.ejb.EntityBean.
Podczas wprowadzania EJB 3.0 warstwa trwałości została oddzielona i określona jako JPA 1.0 (Java Persistence API). Specyfikacje tego API zostały opublikowane wraz ze specyfikacjami JAVA EE5 11 maja 2006 przy użyciu JSR 220.
JPA 2.0 został wydany ze specyfikacjami JAVA EE6 10 grudnia 2009 jako część Java Community Process JSR 317.
JPA 2.1 został wydany ze specyfikacją JAVA EE7 22 kwietnia 2013 przy użyciu JSR 338.
Dostawcy WZP
JPA jest interfejsem API typu open source, dlatego różni dostawcy dla przedsiębiorstw, tacy jak Oracle, Redhat, Eclipse itp., Oferują nowe produkty, dodając do nich smak trwałości JPA. Niektóre z tych produktów obejmują:
Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.