Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Warsztat Java #16 - ORM i Hibernate
Rating: 4.5 out of 5(7 ratings)
41 students

Warsztat Java #16 - ORM i Hibernate

ORM, JPA, Java, JDBC, Hibernate, HQL, Criteria API
Last updated 1/2025
Polish

What you'll learn

  • umiejętności pozwolą uczestnikom na efektywne zarządzanie bazami danych w aplikacjach Java, zwiększając ich kompetencje oraz wartość na rynku pracy
  • Zrozumienie koncepcji ORM (Object-Relational Mapping) oraz jego zastosowania w projektach Java.
  • Rozpoznanie zalet i wad stosowania ORM w porównaniu do tradycyjnego podejścia JDBC.
  • Poznanie podstaw JPA, w tym kluczowych adnotacji, cyklu życia encji oraz obsługi wyjątków.
  • Umiejętność konfiguracji JPA w projekcie Java.
  • Zrozumienie schematów, indeksów i widoków bazodanowych oraz ich zastosowania w optymalizacji pracy z danymi.
  • Konfiguracja i podstawowe funkcje Hibernate w projektach Java.
  • Praca z encjami, zarządzanie ich cyklem życia oraz zrozumienie strategii zarządzania bazami danych.
  • Zarządzanie transakcjami za pomocą Hibernate.
  • Wykonywanie podstawowych operacji CRUD (Create, Read, Update, Delete) z użyciem interfejsu Session.
  • Implementacja relacji one-to-one, one-to-many i many-to-many.
  • Zastosowanie typów pobierania danych (FetchType), kaskadowych operacji oraz usuwania osieroconych encji (Orphan Removal).
  • Pisanie i wykonywanie zapytań HQL i JPQL, w tym operacji INSERT, UPDATE, DELETE i SELECT.
  • Rozwiązywanie problemu n + 1 zapytań oraz korzystanie z natywnych zapytań (Native Query).
  • Korzystanie z Connection Pool (HikariCP) oraz zarządzanie cache Hibernate (1LC i 2LC).
  • Zrozumienie technik blokowania bazy danych (Database locking) i ich zastosowanie w praktyce.

Course content

5 sections56 lectures23h 17m total length
  • Wstęp0:54
  • #1 ORM - Intro22:20

    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.

  • #2 JPA - cz.131:51
  • #3 JPA - cz.237:30
  • #4 Organizacja bazy danych - schemat8:49
  • #5 Organizacja bazy danych - indeks21:47
  • #6 Organizacja bazy danych - widok9:34

Requirements

  • Podstawową znajomość języka Java.
  • Podstawową wiedzę na temat SQL.
  • Znajomość podstawowych koncepcji programowania obiektowego.
  • Podstawowe doświadczenie z JDBC.
  • Podstawową znajomość Maven lub Gradle.

Description

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

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


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


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


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


  5. 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ń.


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


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


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


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


  10. 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!

Who this course is for:

  • Junior i Mid-Level Developerów Java
  • Specjalistów od Baz Danych
  • Studentów Informatyki i bootcampów programistycznych