Kurs Hibernate i JPA

Wszystko o przetwarzaniu danych

Dla kogo jest ten kurs?

Kurs przeznaczony jest zarówno dla osób niemających do tej pory styczności z frameworkiem Hibernate, ale także dla osób, które mają już jakąś podstawową wiedzę na jego temat, a chciałyby ją jeszcze uporządkować i znacznie poszerzyć.

Mateusz Dąbrowski
Prowadzący

Cześć, nazywam się Mateusz Dąbrowski, od kilkunastu lat zajmuję się zawodowo programowaniem. Moim głównym językiem jest Java, ale programowałem też w takich językach jak Python, PHP, Javascript.

W swojej karierze współtworzyłem wiele aplikacji, głównie dla sektora bankowego, ale nie są mi obce także projekty z sektora ubezpieczeń czy telekomunikacji.

Co otrzymasz w kursie?

Kurs Hibernate i JPA (wszystko o przetwarzaniu danych) to ponad 8 godzin materiału poświęconego jednemu z najważniejszych i najbardziej zaawansowanych narzędzi, jakim jest Hibernate. Hibernate to obecnie drugi najpopularniejszy framework w świecie Javy tuż po frameworku Spring.

Spring framework i Hibernate to dwa najczęściej pojawiające się frameworki w ogłoszeniach o pracę na stanowisko Java Developera, niezależnie czy chodzi o Juniora, Mida, czy Seniora.

W kursie omawiam wszystkie zagadnienia związane z Hibernate używanym jako dostawca JPA. Hibernate wraz z JPA, to jedna z najpopularniejszych konfiguracji użycia tego narzędzia.

Zaczynam od omawiania podstawowych zagadnień, następnie przechodzę do operacji CRUD i wszystkich rodzajów relacji, jakie mogą wystąpić przy mapowaniu encji w Hibernate. Dalej skupiam się na zaawansowanym pobieraniu danych przy użyciu języka zapytań JPQL. A na koniec przechodzę do bardziej złożonych tematów takich jak Caching i Batchowanie.

Szczegółowy spis treści znajdziesz poniżej⬇

Kurs Hibernate to:

Kurs Hibernate

Spis treści kursu:

Moduł 1

Wprowadzenie

  1. Powitanie
  2. Jak zbudowany jest kurs
  3. Wiedza, która jest potrzebna w kursie
  4. Jak uzyskać pomoc podczas trwania kursu
  5. JDBC vs Hibernate (background dla Hibernate)
  6. Instalacja środowiska Instellij
  7. Instalacja Javy (którą wersję wybrać)
  8. Importowanie projektów w Intellij
  9. Instalowanie bazy danych Mysql
  10. Wykorzystanie Mysql Workbench

Moduł 2

Hibernate i JPA

  1. Wprowadzenie do modułu
  2. Wprowadzenie do Hibernate i JPA
  3. Do czego służą: SessionFactory, Session
  4. Encje, cykl życia encji

Moduł 3

Operacje CRUD

  1. Wprowadzenie do modułu
  2. Jak zbudowana jest aplikacja?
  3. Jakie podejście wybrać przy projektowaniu bazy danych?
  4. Zapis encji
  5. Pobieranie encji
  6. Aktualizacja encji
  7. Usuwanie encji

Moduł 4

Relacje

  1. Wprowadzenie do modułu
  2. Relacja one-to-many
  3. Pobieranie listy encji (one-to-many bidirectional)
  4. Usuwanie kaskadowe
  5. Relacja one-to-one
  6. Relacja one-to-one bidirectional
  7. Relacja many-to-many
  8. Kaskadowe zapisywanie encji w relacjach
  9. Zapisywanie encji powiązanych w relacji many-to-many
  10. Zapisywanie encji powiązanych w relacji one-to-many
  11. Usuwanie encji powiązanych
    (relacja one-to-one)
  12. Usuwanie encji powiązanych
    (relacja many-to-many)
  13. Aktualizacja listy encji
    (relacja one-to-many)

Moduł 5

Zaawansowane pobieranie danych

  1. Wprowadzenie do modułu
  2. Zawansowane właśiwości języka JPQL
  3. Mapowanie odpowiedzi niestandardowego zapytania do DTO
  4. Projekcje DTO
  5. Podstawowe zapytania inner i outer join w JPQL
  6. Wiele joinów w jednym zapytaniu
  7. Problem iloczynu kartezjańskiego w zapytaniach
  8. Wiele joinów w niestandardowym zapytaniu JPQL
  9. FetchType – bezpośrednie pobieranie vs pobieranie zapytaniami JPQL
  10. FetchMod a zapytania JPQL
  11. Zapytania IN
  12. Entity Graph
  13. Problem N + 1

Moduł 6

Batching

  1. Wprowadzenie do modułu
  2. Wprowadzenie do przetwarzania batchowego w Hibernate
  3. Batch insert
  4. Batch update + stronicowanie wyników
  5. Batch update + scrollowanie wyników (strumieniowanie)
  6. Batch update – zapytanie update w JPQL
  7. Batch delete
  8. Batch delete  – zapytanie delete w JPQL

Moduł 7

JPA Criteria API

  1. Wprowadzenie do modułu
  2. Co to jest Criteria API?
  3. Dynamiczne zapytanie join
  4. Filtrowanie w Criteria API
  5. Użycie funkcji agregujących w Criteria API

Moduł 8

Niestandardowe mapowania i operacje

  1. Wprowadzenie do modułu
  2. Mapowanie relacji za pomocą @ElementCollection
  3. Mapowanie tabel wpół dzielących PRIMARY KEY (@MapsId)
  4. OrphantRemoval – usuwanie powiązanych encji w relacji one-to-many
  5. Dziedziczenie encji (Single table inheritance)
  6. Porównywanie encji (equals i hashcode)
  7. Sortowanie kolekcji
  8. Relacja one-to-many mapowana na trzech tabelach

Moduł 9

Transakcje

  1. Wprowadzenie do modułu
  2. Wprowadzenie do transakcji
  3. Jak obsługiwać transakcje?
  4. Optymalizacje odczytu w transakcjach

Moduł 10

Caching

  1. Wprowadzenie do modułu
  2. Wprowadzenie do cache’owania
  3. Second level cache
  4. Cachowanie kolekcji
  5. Query cache

Moduł 11

Locking

  1. Wprowadzenie do modułu
  2. Co to są locki i do czego są potrzebne?
  3. Optimistic locking
  4. Pesimistic locking

Moduł 12

Hibernate i Spring Framework

  1. Wprowadzenie do modułu
  2. DAO (Data Access Object) w Spring Framework
  3. Spring Data, czyli Hibernate w opakowaniu Springa
  4. Podsumowanie i zakończeniu kursu

Jak kurs wygląda od środka?

Poniżej zamieszczam 3 lekcje demo z kursu. Możesz je obejrzeć, zanim kupisz kurs, pomoże Ci to, zorientować się jak kurs wygląda od środka i w jakiej formie jest prowadzony.

Moduł 4
Relacja one-to-one bidirectional

W tym odcinku pokazuję jak z mapować relację one-to-one dwukierunkowo. To dosyć proste mapowanie, ale starałem się pokazać tu kilka rzeczy, które mogą się nam przytrafić, podczas mapowanie takiej relacji

Moduł 6
Batch update + stronicowanie wyników

W tym odcinku pokazuję jak aktualizować encje batchowo wraz ze stronicowaniem pobieranych danych, tak żeby nasz program działał optymalnie.

Moduł 7
Dynamiczne zapytanie join

W tym odcinku pokazuję jak w JPA Criteria Api odwzorować zapytanie, które zawiera joiny. W całym module poświęconym Criteria Api starałem się pokazać, że API to nie jest wcale takie skomplikowane, jak mogłoby się wydawać.

Co jest w cenie kursu?

Dołącz do ponad 150 kursantów, którzy już uczą się Hibernate!

Regularna cena kursu 256 zł
Aktualna cena kursu to 199 zł

Najczęściej zadawane pytania:

Kiedy rozpoczyna się kurs?

Po opłaceniu kursu otrzymujeszcz dwa maile: pierwszy z loginem i hasłem do platformy (jeśli jeszcze nie masz na niej konta), drugi z linkiem do zakupionego kursu. Kurs rozpoczyna się w momencie opłacenia dostępu, wystarczy, że zalogujesz się do platformy i wszystkei lekcje kursu będą dla Ciebe dostępne.

Jak długo mam dostęp do tego kursu?

Otrzymujesz dożywotni dostęp do tego kursu. Nie są wymagane dodatkowe opłatny.

Czy dostanę cały kurs od razu?

Tak. Wszystkie lekce zawarte w kursie są dostępne od razu po zalogowaniu się do platformy

Na jakiej wersji Javy i Hibernate jest oparty kurs?

Wszystkie przykłady były uruchamiane na Javie 11 i Hibernate 5.4.18. Jeśli chcesz uruchomić przykłady na nowszych wersjach Javy, być może będzie potrzebna aktualizacja Hibernate do wyższej wersji. 

Hibernate w wersji 5.4.x wspiera Javę 8 i 11.

Czy mogę prosić o wystawienie faktury za kurs?

Tak, wystawiam faktury vat. Wystarczy, że w formularzu zamówienia zaznaczysz dodatkowego checkboxa i podasz dane firmy, na którą ma być wystawiona faktura. Po zakupie faktura wysyłana jest automatycznie na maila podanego w zamówieniu.

Co jeśli mam inne pytania?

Skorzystaj z formularza kontaktowego na mojej stronie, na pewno odpowiem, znajdziesz go tutaj. Możesz także skontaktować się ze mną na moim profilu facebookowym tutaj.