Platforma Java
JPA / Hibernate
Szkolenia z obszaru JPA / Hibernate obejmują projektowanie mapowań ORM, optymalizację zapytań, testowanie i monitorowanie warstwy persistence dla programistów Java, architektów i zespołów utrzymaniowych, aby mogli wdrożyć wydajne encje, zweryfikować transakcje i zoptymalizować dostęp do danych.
Filtry
Utrwalanie danych z użyciem JPA i Hibernate
Zaawansowane aspekty Jakarta Persistence API i Hibernate
Najniższa cena z ostatnich 30 dni
Skontaktuj się z namiOpinie uczestników
- Agata CzuprynaUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Tematy dla mnie bardziej zaawansowane dotyczace np mapowania, zostały wyjaśnione w sposób zrozumiały
- Mariusz KucUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Bardzo kompleksowe podejście do omawianych zagadnień, poruszone zostały problematyczne kwestie i skrajne przypadki które często są pomijane w innych kursach czy szkoleniach, duży zbiór ćwiczeń doskonale obrazujących omawiane zagadnienia
- Jarosław SadłekUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Głównie z powodu podejścia prowadzącego. Spokojnej narracji. Duża znajomość tematu znacznie wykraczająca poza zakres szkolenia. Opieranie się na własnych doświadczeniach. Wiele praktycznych uwag.
- Sebastian GronekUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Bardzo dobre merytoryczne przygotowanie prowadzącego, duża ilość ćwiczeń wraz z testami pozwalającymi szybko zweryfikować napisane rozwiązanie
- Adam DrobikUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Bardzo dużo przykładów, dobry balans między teorią i praktyką, wiedza prowadzącego bardzo duża
- Marzena KacprowiczUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Prowadzący wszystko szczegółowo tłumaczył, odpowiadał na pytania. Treść szkolenia to było bardzo wiele praktycznej wiedzy, samo "mięcho", bez lania wody ;)
- Agnieszka RakUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Pojawiło się dużo ciekawych przykładów pokazujących omawianą podczas warsztatów teorię.
- Kamil WiśniewskiUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Było przygotowane dokładnie i mniej więcej pokrywało się z moimi oczekiwaniami
- Norbert KocikUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Trudno wyciągnąć 'bardzo dobre' z przechodzenia przez kolejne zagadnienia - tj patrząc z perspektywy programu to dobre (nie jest to narzekanie na program ani prowadzącego)
- Patryk BaranUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Dużo zadań, bardzo merytorycznie przeprowadzone
- Daniel WasilewskiUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Dobrze przedstawiony temat. Prowadzący z dużą wiedzą
- Igor JarockiUczestnik szkolenia Zaawansowane aspekty Jakarta Persistence API i Hibernate
Ogrom merytorycznej wiedzy, z praktycznymi zastosowaniami.
Szukasz innych technologii?
Zapoznaj się z naszym pełnym katalogiem szkoleń i usług IT
FAQ
Problem N+1 w JPA i Hibernate pojawia się wtedy, gdy aplikacje pobierają kolekcje lub relacje w wielu dodatkowych zapytaniach zamiast w jednym kontrolowanym odczycie. Warto sprawdzić strategie fetchingu, użycie Fetch Join, EntityGraph oraz sposób mapowania relacji i kolekcji, a następnie porównać liczbę zapytań w logach SQL lub profilerze. Przykładem jest ekran listy zamówień, w którym pobranie klientów i pozycji zamówień bez analizy lazy loadingu generuje dziesiątki niepotrzebnych odwołań do bazy. Ten temat przerabiamy praktycznie na szkoleniu: Utrwalanie danych z użyciem JPA i Hibernate (JPA/HIB).
JPA jest standardem definiującym API persistence, a Hibernate stanowi jego implementację i rozszerza go o mechanizmy niedostępne w czystej specyfikacji. Należy sprawdzić, czy wymagania obejmują niestandardowe mapowania, cache, filtry, soft delete, audyt lub zaawansowane zarządzanie sesją, bo wtedy rozszerzenia Hibernate często upraszczają implementacje. Dobrym przykładem są pola wyliczane przez @Formula albo mapowania z użyciem @Any, których nie obsługuje samo Jakarta Persistence API. Jeśli chcesz przećwiczyć to krok po kroku, zobacz: Zaawansowane aspekty Jakarta Persistence API i Hibernate (HIB/EXT).
Testowanie warstwy persistence powinno obejmować poprawność mapowań, zachowanie transakcji, liczbę wykonywanych zapytań oraz zgodność encji z rzeczywistym schematem bazy. Trzeba sprawdzić scenariusze zapisu, odczytu, lazy loadingu, blokad, kaskad i zapytań agregacyjnych, a także dodać automatyczne asercje wykrywające nadmiarowe odwołania SQL. Przykładem jest test integracyjny, który po zmianie relacji wykrywa wzrost liczby zapytań z 2 do 40 przy pobieraniu listy encji. Wersję warsztatową (z konfiguracją i przykładami) znajdziesz w programie szkolenia: Zaawansowane aspekty Jakarta Persistence API i Hibernate (HIB/EXT).
Zaawansowane mapowanie obiektowo-relacyjne obejmuje relacje złożone, obiekty osadzone, kolekcje map, typy kontenerowe, klucze złożone oraz niestandardowe konwersje wartości. W praktyce warto przeanalizować, czy lepiej użyć @EmbeddedId, @MapsId, AttributeConverter, @ElementCollection albo dedykowanej encji relacyjnej, zamiast upraszczać model kosztem spójności danych. Przykładem jest odwzorowanie słownika parametrów jako Map<String, String> lub modelowanie klucza biznesowego z użyciem @NaturalId. To jedno z zagadnień omawianych podczas szkolenia: Zaawansowane aspekty Jakarta Persistence API i Hibernate (HIB/EXT).
Cache w Hibernate obejmuje pamięć pierwszego poziomu związaną z sesją oraz opcjonalny cache drugiego poziomu współdzielony między operacjami i, zależnie od konfiguracji, także cache zapytań. Przed włączeniem cache drugiego poziomu trzeba sprawdzić charakter danych, częstotliwość ich zmian, strategię aktualizacji oraz ryzyko niespójności przy intensywnych zapisach. Typowym przykładem są rzadko modyfikowane słowniki lub dane referencyjne, które aplikacje odczytują bardzo często i z wielu transakcji. Dokładnie ten zestaw narzędzi i workflow ćwiczymy podczas szkolenia: Zaawansowane aspekty Jakarta Persistence API i Hibernate (HIB/EXT).
Blokady optymistyczne i pesymistyczne w JPA służą do kontroli współbieżnego dostępu do rekordów, ale wymagają poprawnego doboru do charakteru operacji i obciążenia systemu. Należy sprawdzić sposób wersjonowania encji, granice transakcji, propagację operacji oraz moment pobierania i zapisu danych, aby ograniczyć konflikty i deadlocki. Przykładem jest jednoczesna edycja tego samego dokumentu przez wielu użytkowników, gdzie @Version wykrywa konflikt, a lock pesymistyczny blokuje zapis konkurencyjnej transakcji. Jeśli chcesz przećwiczyć to krok po kroku, zobacz: Utrwalanie danych z użyciem JPA i Hibernate (JPA/HIB).