Zaawansowane aspekty Jakarta Persistence API i Hibernate
Zaawansowane aspekty Jakarta Persistence API i Hibernate
Informacje podstawowe
Informacje podstawowe
- KategoriaInformatyka i telekomunikacja / Programowanie
- Grupa docelowa usługi
Szkolenie adresowane jest do programistów oraz architektów systemów, którzy chcą rozszerzyć umiejętności i wiedzę na temat bardziej zaawansowanych sposób wykorzystania JPA oraz Hibernate.
- Minimalna liczba uczestników4
- Maksymalna liczba uczestników8
- Data zakończenia rekrutacji06-11-2025
- Forma prowadzenia usługizdalna w czasie rzeczywistym
- Liczba godzin usługi16
- Podstawa uzyskania wpisu do BURCertyfikat systemu zarządzania jakością wg. ISO 9001:2015 (PN-EN ISO 9001:2015) - w zakresie usług szkoleniowych
Cel
Cel
Cel edukacyjny
Poznanie nietypowych możliwości jakie daje Hibernate w celu osiągnięcia większej wydajności bez potrzeby nadmiarowego pisania kodu.Dogłębne wyjaśnienie praktycznych problemów napotykanych w trakcie wytwarzania aplikacji z wykorzystaniem Jakarta Persistence API oraz Hibernate.
Poznanie sztuczek, które mają wpływ na wydajność ostatecznego rozwiązania.
Efekty uczenia się oraz kryteria weryfikacji ich osiągnięcia i Metody walidacji
Efekty uczenia się | Kryteria weryfikacji | Metoda walidacji |
---|---|---|
Efekty uczenia się • Uczestnik programuje w stylu maksymalizującym wydajność ostatecznego rozwiązania. | Kryteria weryfikacji Uczestnik stworzył realny projekt, który można wygodnie udostępnić, skomentować i zaprezentować. | Metoda walidacji Obserwacja w warunkach rzeczywistych |
Kwalifikacje i kompetencje
Kwalifikacje
Kompetencje
Usługa prowadzi do nabycia kompetencji.Warunki uznania kompetencji
Program
Program
Nietypowe przypadki mapowania obiektowo relacyjnego
- Pola wirtualne z wykorzystaniem adnotacji @Formula oraz @Transient
- Wydajna obsługa danych binarnych
- Własne konwertery wartości - AttributeConverter
- Adnotacja @Embedded a adnotacja @Parent
- Poprawne użycie atrybutów w standardowych adnotacjach relacji
- Sposoby mapowania typów kontenerowych oraz tablic z wykorzysatniem adnotacji @ElementCollection oraz @CollectionTable
- Metody poprawnego odwzorowywania kolekcji Map
- Adnotacja @SQLRestriction
Aspekty generowania kluczy głównych
- Klucze główne a prawidłowa implementacja metod equals i hashCode
- Adnotacja @NaturalID
- Klucze złożone z wykorzystaniem @EmbeddedId
- Klucz derywatywny - @MapsId
Aspekty polimorfizmu
- Strategie odzworowania zależności polimorficznych
- Stosowanie interfejsów w polach encji z użyciem adnotacji @Any oraz @ManyToAny
Optymalizacja stosowania sesji
- Detaching / Merging
- Strategie wykonywania operacji flush przez Hibernate
- Stateless session
- Session scrolling
- Tryb read-only
Wydajność zapytań
- Fetch Join
- Named Queries / Native Queries
- Adnotacje @Filter oraz @FilterDef
- Usuwanie rekordów "na miękko" z wykorzystaniem adnotacji @SoftDelete
- Bulk Update / Delete
- Grafy encji: Load Graph vs Entity Graph
- Strategie Fetching
- Tworzenie zapytań agregacyjnych z wykorzystaniem Criteria API
- Zapytania natywne i adnotacja @SqlResultSetMapping
- Widoki z użyciem adnotacji @Subselect
- Optymalizacje w zakresie sortowania zawartości
Wykorzystanie wywołań zwrotnych
- Interceptory
- Callbacki
Wykorzystanie pamięci cache
- Cache pierwszego poziomu
- Opcjonalny cache drugiego poziomu - integracja z dodatkowymi rozwiązaniami
- Strategie aktualizacji zawartości cache
- Cache dla zapytań
- Cache dla planów zapytań
Profilowanie i monitorowanie wydajności
- Dobór kolekcji
- Niestandardowe pule połączeń
- Normalizacja schematu = problem N+1 / produkt kartezjański
Transakcje optymistyczne i pesymistyczne
- Sposoby wersjonowania rekordów
- Stosowanie blokad pesymistycznych
Audytowalność rekordów z wykorzystaniem Hibernate Envers (opcjonalnie)
Testowanie integracyjne i automatyzacja wykrywania niepożądanych zachowań Hibernate'a
Harmonogram
Harmonogram
Przedmiot / temat zajęć | Prowadzący | Data realizacji zajęć | Godzina rozpoczęcia | Godzina zakończenia | Liczba godzin |
---|---|---|---|---|---|
Przedmiot / temat zajęć 1 z 2 Nietypowe przypadki mapowania obiektowo relacyjnego, generowanie kluczy głównych i polimorfizmu, optymalizacja stosowania sesji, wydajność zapytań, wykorzystanie wywołań zwrotnych i pamięci cache | Prowadzący Mateusz Kamiński | Data realizacji zajęć 13-11-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Przedmiot / temat zajęć 2 z 2 Profilowanie i monitorowanie wydajności, Transakcje optymistyczne i pesymistyczne, Audytowalność rekordów, Testowanie integracyjne, automatyzacja wykrywania niepożądanych zachowań Hibernate | Prowadzący Mateusz Kamiński | Data realizacji zajęć 14-11-2025 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 17:00 | Liczba godzin 08:00 |
Cena
Cena
Cennik
Rodzaj ceny | Cena |
---|---|
Rodzaj ceny Koszt przypadający na 1 uczestnika brutto | Cena 2 150,00 PLN |
Rodzaj ceny Koszt przypadający na 1 uczestnika netto | Cena 2 150,00 PLN |
Rodzaj ceny Koszt osobogodziny brutto | Cena 134,38 PLN |
Rodzaj ceny Koszt osobogodziny netto | Cena 134,38 PLN |
Prowadzący
Prowadzący
Mateusz Kamiński
Od 5 lat lider zespołu programistycznego Sages.
Od 9 lat mentor w zespołach programistycznych, doświadczony wykładowca bootcampu z Java, aktualnie wykładowca zajęć projektowych z programowania aplikacji na Politechnice Warszawskiej.
Informacje dodatkowe
Informacje dodatkowe
Informacje o materiałach dla uczestników usługi
materiały szkoleniowe - część teoretyczna szkolenia, slajdy - zostaną udostępnione uczestnikom na szkoleniu w formie pdf.
uczestnik otrzyma certyfikat uczestnictwa z opisem nabytych umiejętności
Warunki uczestnictwa
Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java oraz podstawy relacyjnych baz danych i języka SQL
Informacje dodatkowe
Szkolenie będzie prowadzone zdalnie, w czasie rzeczywistym, na żywo, z trenerem, możliwością zadawania pytań.
Szkolenie składa się w 30% z wykładu teoretycznego, w 70% z warsztatów i samodzielnej pracy programistycznej.
Podczas szkolenia uczestnicy mają dostęp do czatu z trenerem, współdzielą ekran podczas części warsztatowej, żeby zaprezentować postęp swojej pracy.
Walidacja będzie bazowała na ocenie efektów samodzielnej pracy uczestników, będzie sprawdzała nabytą wiedzę teoretyczną i umiejętność jej zastosowania w praktyce.
Warunki techniczne
Warunki techniczne
szkolenie na platformie zoom, wymagane:
stabilne połączenie internetowe (zalecane min. 10Mbit/s download i 1Mbit/s upload)
przeglądarka internetowa Chrome
zainstalowana aplikacja Zoom App
dobrej jakości słuchawki oraz mikrofon (opcjonalnie) kamera internetowa
link do szkolenia zostanie przesłany uczestnikom przed szkoleniem i będzie aktywny do końca szkolenia.