
Istotne. Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Wiesz już na tym etapie o nowszych mechanizmach wprowadzanych w Java, ale my tutaj będziemy skupiać się na Hibernate, a nie na nowościach w Javie. Nic nie stoi na przeszkodzie, żebyś wykorzystywał/-a wiedzę pozyskaną po warsztacie o nowszych wersjach Java, ale nam zależy na pokazaniu mechanizmów samego Hibernate, dlatego będziemy starać się stosować proste konstrukcje, a nie mieszać tutaj np. sealed classes.
Jeżeli natomiast chodzi o Hibernate, to struktura warsztatu została przygotowana w ten sposób, że bazowe mechanizmy Hibernate zostaną przedstawione na podstawie Hibernate w wersji 6. W ramach tego warsztatu pokażemy mechanizmy, które będą towarzyszyć w trakcie Twojej całej przygody z Hibernate. Jeżeli w nowszych wersjach pojawią się funkcjonalności, które są istotne (naszym zdaniem) na tym poziomie nauki, to zakres warsztatu będzie rozszerzany i będziemy do niego dodawać kolejne materiały. Najpierw chcemy skupić się na podstawach.
Gdy będziesz szukać zależności do Maven/Gradle, to w przyszłości pewnie znajdziesz nowsze wersje Hibernate. Zaznaczam to z tego powodu, że jeżeli my w materiałach będziemy pokazywali Hibernate 6, to Ty możesz realizować ten sam materiał np. na podstawie wyższych wersji i zobaczyć jak te mechanizmy zachowują się w tej wersji. My stale monitorujemy sytuację i jeżeli wychodzą jakieś nowości, które mają znaczenie z perspektywy ścieżki Zajavka, są one dodawane w tej ścieżce. Podsumowując, możesz spokojnie korzystać np. z JDK 17 i Hibernate 6, możesz również korzystać z najnowszej Javy i najnowszego Hibernate. Jeżeli w Hibernate pojawi się coś nowego i istotnego, będzie to dodawane do ścieżki Zajavka ?.
Wiemy już czym jest Spring i jakie są jego bardzo podstawowe możliwości. Wiemy już również na tym etapie, jak możemy testować aplikacje napisane w Spring. Do tego dowiedzieliśmy się już, w jaki sposób można połączyć Spring z komunikacją z bazami danych. W ramach tego warsztatu nadal będziemy obracać się w tematyce baz danych, z tą różnicą, że w tym warsztacie dla odmiany nie będzie Springa, w końcu przyszedł czas na Hibernate! Z resztą, zobaczysz ?.
W ramach tego materiału poruszona zostanie tematyka ORM.
Pod filmem znajdziesz link do notatek, które pozwolą Ci utrwalić przekazaną wiedzę. Oprócz tego, obok notatek znajdziesz również instrukcję instalacji narzędzi, które będą nam potrzebne, czyli PostgreSQL oraz DBeaver - upewnij się, że masz je zainstalowane u siebie na komputerze.
23 godzinny kurs poświęcony ORM i Hibernate! W kursie dowiesz się, czym jest ORM i jak efektywnie wykorzystać framework Hibernate w swoim projekcie. Kurs ten oferuje obszerną dawkę wiedzy na temat pracy z bazami danych, od podstaw po zaawansowane zagadnienia.
Tematyka Warsztatu
ORM (Object-Relational Mapping)
Czym jest ORM: Zasady działania i zastosowanie ORM w projektach.
Zalety i wady stosowania ORM: Kiedy i dlaczego warto korzystać z ORM, a kiedy lepiej unikać.
ORM vs JDBC: Porównanie podejścia ORM z tradycyjnym JDBC.
JPA (Java Persistence API)
Czym jest JPA: Definicja i znaczenie JPA w kontekście ORM.
Z czego składa się JPA: Elementy składowe JPA i ich rola.
Adnotacje JPA: Wprowadzenie do kluczowych adnotacji JPA.
Cykl życia encji: Przebieg życia encji w JPA.
Wyjątki JPA: Najczęstsze wyjątki i jak sobie z nimi radzić.
Organizacja danych w bazie danych
Schematy bazodanowe: Czym są i jak je organizować.
Indeksy bazodanowe: Zastosowanie i korzyści z indeksowania.
Widoki bazodanowe: Definicja i zastosowanie widoków.
Hibernate - Intro
Co nam daje stosowanie Hibernate w projekcie?: Zalet i możliwości Hibernate.
Składniki Hibernate: Główne komponenty Hibernate.
Konfiguracja: Jak skonfigurować Hibernate w projekcie.
Cykl życia encji w Hibernate: Zrozumienie procesu życia encji.
Strategie zarządzania bazami danych: Różne podejścia i strategie.
Hibernate - Transakcje i CRUD
Transakcje w Hibernate: Zarządzanie transakcjami.
Interfejs Session i prosty przykład CRUD: Praktyczne przykłady operacji CRUD.
Notatki: Podsumowanie omawianych zagadnień.
Hibernate - Relacje
Relacja one-to-one: Definicja i przykład.
Relacja one-to-many: Definicja i przykład.
Relacja many-to-many: Definicja i przykład.
FetchType: Typy pobierania danych.
Kaskady: Kaskadowe operacje na relacjach.
Orphan Removal: Usuwanie osieroconych encji.
Hibernate - JPQL oraz HQL
Czym jest JPQL: Definicja i zastosowanie.
Czym jest HQL: Definicja i zastosowanie.
HQL - INSERT, UPDATE, DELETE, SELECT: Praktyczne przykłady.
HQL - Named Query: Użycie zapytań nazwanych.
FetchMode: Tryby pobierania danych.
Problem n + 1 zapytań: Rozwiązywanie problemów.
Encje vs metody equals() i hashCode(): Implementacja metod.
Native Query: Użycie natywnych zapytań.
Hibernate - Criteria API
Czym jest Criteria API: Definicja i zastosowanie.
Pobranie pojedynczego rekordu: Praktyczny przykład.
Distinct, Sortowanie, JOIN, Funkcje agregujące: Praktyczne przykłady.
Criteria UPDATE, DELETE: Praktyczne przykłady.
Hibernate - Zaawansowane zagadnienia
Connection Pool - HikariCP: Konfiguracja i zastosowanie.
Hibernate i cache - 1LC oraz 2LC: Zarządzanie pamięcią podręczną.
Database locking: Techniki blokowania bazy danych.
Test i Projekt
Test: Zadania sprawdzające zdobytą wiedzę.
Projekt: Praktyczne zastosowanie zdobytej wiedzy w projekcie.
Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Wiesz już na tym etapie o nowszych mechanizmach wprowadzanych w Java, ale my tutaj będziemy skupiać się na Hibernate, a nie na nowościach w Javie. Nic nie stoi na przeszkodzie, żebyś wykorzystywał/-a wiedzę pozyskaną po warsztacie o nowszych wersjach Java, ale nam zależy na pokazaniu mechanizmów samego Hibernate, dlatego będziemy starać się stosować proste konstrukcje, a nie mieszać tutaj np. sealed classes.
Jeżeli natomiast chodzi o Hibernate, to struktura warsztatu została przygotowana w ten sposób, że bazowe mechanizmy Hibernate zostaną przedstawione na podstawie Hibernate w wersji 6. W ramach tego warsztatu pokażemy mechanizmy, które będą towarzyszyć w trakcie Twojej całej przygody z Hibernate.
Warsztat ten jest 16. warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.
Dołącz do mojego warsztatu i zyskaj praktyczne umiejętności w zakresie ORM i Hibernate, które pomogą Ci efektywnie pracować z bazami danych w aplikacjach Java!