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ć.

>>> Sprzedaż zakończona <<<
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,5 godziny 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

Już ponad 400 osób kupiło mój kurs.

Co o kursie sądzą uczestnicy?

Kurs był rewelacyjny, wielka dawka bardzo konkretnej i przydatnej w pracy wiedzy. Świetnie wydane pieniądze 🙂
Maciej
Generalnie wszystko co znalazło się w kursie to oceniłbym na 5 tempo prezentacji, kolejność poruszanych tematów jak najbardziej na plus.
Dominik
Lubię pobierać wiedzę poprzez przykłady, bardzo miło się Ciebie słucha, dosyć szybko pochłonąłem ten kurs. Podobało mi się dobre wytłumaczenie np. relacji, z którymi miałem mały problem przed kursem. Z pewnością będę tu wracał w najbliższym czasie. Kurs ten wydaje się bardziej składny i logicznie ułożony, niż ten na yt o spring boot. Szczerze jestem pozytywnie zaskoczony
Kamil
Przykłady rzeczywiste, dzięki którym można rozeznać się, jak wykorzystać dane rozwiązanie.
Marcin
Największa zaleta Twoich materiałów to to, że opowiadasz co i jak działa w tle, skąd wziął się błąd. Nie jest to suche zademonstrowanie tutoriala i "tak to się robi bo tak i koniec". Czuć podejście do przekazania wiedzy, aby była ona użyteczna potem w pracy, gdzie realizuje się bardziej skomplikowane zadania i wiedza z tutoriala to za mało.
Piotr
Kurs na najwyższym poziomie. Nie zawiodłem się. Super, tak trzymaj!
Krzysiek
Skrupulatne tłumaczenie każdego zagadnienia poparte przykładami.
Marcin
W kursie podobało mi się pokazywanie częstych błędów, wraz z ich rozwiązaniami. Nie jest przedstawione zagadnienie w sposób liniowy, gdzie to po prostu działa, ale opisane jest również co może pójść nie tak. Ogólnie cały kurs na duży plus.
Przemysław
Podobała mi się organizacja całego kursu, była spójna i pozwalała bez problemów wykonywać każdy przykład samodzielnie
Anonim

Komentarze kursantów z Facebooka

Kurs Hibernate komentarze 1
Kurs Hibernate komentarze 2

Jak kurs wygląda od środka?

Poniżej zamieszczam 2 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 OneToMany

W tym odcinku pokazuję jak z mapować relację
one-to-many w najprostszy możliwy sposób. Opowiadam też o tym, co to jest Lazy Loading w Hibernate i pokazuję jego działanie.

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.

Co jest w cenie kursu?

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 wszystkie 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.