Szkolenie Java Persistence API
Poziom
ZaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Java Persistence API
Szkolenie jest przeznaczone dla programistów Java, którzy chcą świadomie pracować z warstwą dostępu do danych w aplikacjach korzystających z relacyjnych baz danych. Obejmuje standard JPA w aktualnym kontekście Jakarta Persistence, mapowanie obiektowo-relacyjne, encje, relacje, kontekst utrwalania, EntityManager, transakcje, walidację oraz zapytania JPQL, HQL, Criteria API i zapytania natywne. Uczestnicy uczą się projektować i analizować podstawową warstwę persystencji, z uwzględnieniem jakości mapowania, spójności danych, typowych ryzyk ORM oraz ograniczeń wynikających z pracy z bazą relacyjną.
Dla kogo jest to szkolenie?
Dla programistów Java, którzy chcą ułatwić sobie pracę z relacyjnymi bazami danych
Dla osób, które potrzebują uporządkowanej wiedzy o ORM, JPA/Jakarta Persistence i rozwijaniu aplikacji bazodanowych
Czego nauczysz się na szkoleniu?
Zrozumiesz rolę JPA/Jakarta Persistence jako standardu mapowania obiektowo-relacyjnego w aplikacjach Java
Nauczysz się definiować encje, klucze, relacje, obiekty osadzane i mapowanie hierarchii
Nauczysz się pracować z kontekstem utrwalania, EntityManagerem, transakcjami i walidacją encji
Poznasz sposoby tworzenia zapytań przy użyciu JPQL, HQL, Criteria API i zapytań natywnych
Nauczysz się rozpoznawać podstawowe ryzyka pracy z ORM, w tym błędne mapowanie, niekontrolowane relacje, problemy transakcyjne i ograniczenia zapytań
Program szkolenia
Dzień 1
Rozwiązania ORM
- Bazy relacyjne w aplikacjach Java
- Model obiektowy i model relacyjny
- Standard JPA i Jakarta Persistence
- Implementacje JPA: Hibernate i EclipseLink
- Encje
- Cykl życia encji
- Zalety, ograniczenia i typowe ryzyka ORM
Mapowanie obiektowo-relacyjne
- Mapowanie przy użyciu adnotacji oraz XML
- Klucze główne proste i złożone
- Typy relacji między encjami
- Mapowanie hierarchii
- Obiekty Embedded
- Mapowanie kolumn, tabel i ograniczeń
- Strategie pobierania danych: lazy loading i eager loading
Dzień 2
Praca z obiektami encyjnymi
- Kontekst utrwalania
- Menadżer encji
- Podstawowe operacje przy wykorzystaniu EntityManager
- Kaskadowa propagacja operacji
- Zarządzanie transakcjami
- Walidacja encji
- Stany encji: transient, managed, detached i removed
- Spójność danych i granice transakcji
Praca z zapytaniami
- Java Persistence Query Language – JPQL i HQL
- Criteria API – programistyczne modelowanie zapytań
- Zapytania natywne
- Parametryzacja zapytań
- Projekcje i pobieranie wybranych danych
- Stronicowanie i sortowanie wyników
- Podstawowe ryzyka wydajnościowe: N + 1, nadmiarowe pobieranie danych i zbyt złożone zapytania