Java Persistence API (Hibernate)

Tytuł: Java Persistence API (Hibernate)
Kod: advanced-JPA
Kategoria: Zaawansowana Java
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 2-3 dni
Odbiorcy: developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Szkolenie przedstawia rzetelne podstawy JPA, standardowe problemy i sposoby ich efektywnego rozwiązania oraz zagadania zaawansowane, takie jak aspekty wydajności.

Wyróżniki szkolenia

  • Poruszamy zagadnienia zaawansowane
  • Przedstawiamy alternatywne sposoby korzystania z JPA
  • Zwracamy szczególną uwagę na wydajność

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Podstawy modelowania obiektowego i mapowania relacyjno-obiektowego
  2. Konfiguracja Hibernate
    1. W środowisku Java EE
    2. W środowisku niezarządzanym
    3. Spring
  3. Mapowanie encji
    1. Najlepsze praktyki
    2. Typy, klucze proste i ograniczenia
    3. Powiązania
    4. Strategie pobierania zagregowanych danych – praktyczne rady
    5. Strategie wykonywania operacji kaskadowych – praktyczne rady
  4. Mapowanie zaawansowane
    1. Zagnieżdżenia
    2. Efektywne mapowanie Value Objects jako klas Embeddable
    3. Klucze złożone
    4. Wykorzystanie map do realizacji persystencji
    5. Kolekcje typów prostych
  5. EnityManager i kontekst persystencji (Persistent Context)
    1. Cykl życia
    2. API EntityManager
    3. Tryb rozszerzony
    4. Imperatywne zarządzanie synchronizacją kontekstu persystencji
  6. Tworzenie efektywnych zapytań
    1. Metody tworzenia prostych zapytań
      1. Język JPQL
      2. Criteria API w JPA 2.0
    2. Zaawansowane wymagania biznesowe za pomocą dynamicznego składania zapytań
    3. Techniki pisania wydajnych zapytań
      1. Ograniczenie pobierania nie potrzebnych danych
      2. Ograniczenie ilości zapytań do bazy
      3. Prekompilowanie zapytań JPQL – nazwane zapytania
  7. Odwzorowanie dziedziczenia
    1. Trzy strategie (wady i zalety)
    2. Dobór strategii do problemu
    3. Zapytania polimorficzne
  8. Transakcyjność operacji JPA
    1. Problem transakcyjności operacji JPA
    2. Optymistyczne i pesymistyczne blokowanie
    3. Tryb rozszerzony EntityManager
  9. Optymalizacja
    1. Techniki optymalnego mapowania
    2. Cache (zapytań, encji)
    3. Pułapki lazy loadingu (n+1 select problem)
    4. Unikanie pobierania nadmiernych danych – rozwiązania stosowne do problemu
  10. Architektury warstwy dostępu do danych
    1. Podejście płaskie
    2. Warstwa Data Access Objects (DAO)
    3. Repozytoria Domain Driven Design (DDD)
    4. Systemy rozproszone
  11. Zagadnienia zaawansowane
    1. Mechanizmy JPA - przykłady praktycznego wykorzystania
      1. Wywołania zwrotne
      2. Klasy nasłuchujące
      3. Praktyczne wykorzystanie mechanizmów
    2. Zasada działania JPA
    3. Szczegóły implementacji Hibernate – zwiększenie świadomości używanego narzędzia
    4. Hibernate Shreads
    5. Hibernate Search - Lucene
    6. Wsparcie dla konwersacji - Tryb rozszerzony
    7. Przydatne rozszerzenia Hibernate
      1. Dostęp do Hibernate Session
      2. Criteria API w Hibernate – produktywne tworzenie dynamicznych zapytań
      3. Dodatkowe generatory kluczy
      4. Dodatkowe operacje kaskadowe


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.