• Kurs Java JavAPPa - programowanie Java i JavaScript
  • Kurs Java JavAPPa - programowanie Java i JavaScript
  • Make programming easier
  • SMART IT
  • Użytkownik nieaktywny Niezalogowany
  • Logowanie
  • BLOG
  • Rejestracja
  • Kontakt
  •  
    {{getUserDetails().email | limitToDots : 25}} Konto Google
  •  
    {{getUserDetails().email | limitToDots : 40}} Konto Google
    Twoje konto Twoje konto
  • Twoje konto Twoje konto
  • Wyloguj
  • BLOG
  • Rejestracja
  • Kontakt
  • Szybki Dostęp
    Szybki Dostęp - Wprowadzenie
    Maven - Instalacja Maven - Pierwsze kroki Maven - Cykle życia, fazy i cele Maven - Asystent
    Spring Boot - Aplikacja Webowa Spring Boot - Projekt startowy Spring Boot - Maven Spring Boot - Konfiguracja
    Git - Pierwsze kroki Git - Tworzenie gałęzi (branchy) Git - Aktualizacja gałęzi przed scaleniem (mergem) Git - Konflikt w trakcie scalania (mergowania)
  • Kurs Java
    Kurs Java - Wprowadzenie
    Instalacja Javy Narzędzia programistyczne (IDE) Eclipse - Pierwszy projekt IntelliJ - Instalacja i pierwsze kroki Wprowadzenie do Javy
    Hello JavAPPa Typy proste Operatory Warunek If...Else Instrukcja Switch Pętla While Pętla For
    Kurs Java - Podstawy
    Klasy i obiekty z życia wzięte Klasy i programowanie obiektowe Rodzaje metod w ramach obiektu Metody statyczne Tworzenie własnych obiektów Typy obiektowe Klasa String Tablice obiektów i typów prostych Klasy - Dziedziczenie Przesłanianie metod Przeciążanie metod Modyfikatory dostępu Klasy abstrakcyjne Interfejsy Inne metody w interfejsach Interfejs jako typ danych Polimorfizm Enkapsulacja Metoda equals Wyjątki w Javie Pliki w Javie Typy generyczne w Javie Klasa z parametrem typu Typ wyliczeniowy enum
    Programow.  obiektowe w Javie
    Kolekcje - Wprowadzenie Kolekcje - Listy Kolekcje - Sety Kolekcje - Mapy
    Kolekcje w Javie
    Java 8 do 17 i dalej - Spis treści Wprowadzenie Wyrażenia lambda - Starter Wyrażenia lambda - Przykłady Interfejs funkcyjny - Co to jest? Przegląd interfejsów funkcyjnych Wariacje interfejsów funkcyjnych Składanie interfejsów funkcyjnych Strumienie - Pierwsze kroki Referencje do metod Strumienie - Metody peek i collect Strumienie - Metody map i flatMap Strumienie - Metoda reduce Strumienie - Kolektory Strumienie - Filtry Klasa Optional Data i czas w Javie 8 Operacje na datach w Javie 8 Nowe metody w kolekcjach Nowe metody w mapach Nowości w kodzie Java 9 do 11 Nowości w kodzie Java 12 do 14 Nowości w kodzie Java 15 Nowości w kodzie Java 16 Nowości w kodzie Java 17
    Kurs Java 8 do 17 i dalej
  • Kurs Spring
    Kurs Spring - Wprowadzenie
    Projekty vs moduły Stereotypy Wstrzykiwanie zależności - podstawy (DI & IoC) Wstrzykiwanie zależności - rozszerzenie Zakresy beanów (Scopes) Wersje Springa
    Spring Boot - Projekt startowy Spring Boot - Maven Spring Boot - Konfiguracja Spring Boot Actuator 1.x Spring Boot Actuator 2.x
    Spring Framework - Podstawowe funkcjonalności Spring Framework - Spring MVC Spring MVC - Mapowanie żądań HTTP (Request Mapping) Spring MVC - Metody obsługi żądań HTTP (Handler Methods) Spring AOP - Podstawowe koncepcje Spring AOP - AspectJ
    Spring Data JPA 1.x - Podstawowe funkcjonalności Spring Data JPA 2.x - Podstawowe funkcjonalności Spring Data JPA - Zapytania wbudowane (Built-in Queries) Spring Data JPA - Zapytania własne (Custom Queries) Spring Data JPA - Zapytania natywne (Native Queries)
    Postman - Jak wysłać request do Springa
  • Kurs Angular
    Kurs Angular/AngularJS - Wprowadzenie
    Projekt startowy AngularJS Moduł (Module) Zakres (Scope) Kontroler (Controller) Dostawca stanu i dyrektywa ui-view
    Serwis vs Fabryka (Service vs Factory) Dostawca (Provider) Wartość vs Stała (Value vs Constant)
    Dyrektywy wbudowane Dyrektywy własne Dyrektywy własne - Atrybut dopasowujący wartość @ Dyrektywy własne - Atrybuty dopasowujące własność < = Dyrektywy własne - Atrybut funkcyjny &
  • StartAPPa
  • Kurs Aplikacji Web
    Jak to działa?
    Starter REST
    Kurs Aplikacji Web - Mega pakiet
    Formularz Podstawowy Formularz Zaawansowany Tabela Podstawowa Tabela Zaawansowana Wykres Danych Importer CSV Importer XLS Login & Reset
  • O Nas
    Kim jesteśmy? Nasze doświadczenie Formularz kontaktowy

Hibernate w Springu

  • Strona główna
  • Kurs Spring
  • Hibernate w Springu
Tu jesteś
Java - Mapa kariery Tu jesteś
3
Start
5
Wzorce projektowe Git 3 SQL
Relacyjne bazy danych niezmiennie od lat
są podstawą w budowie systemów
informatycznych. Na rynku istnieją
oczywiście również bazy typu NoSQL,
ale te zwykle są stosowane do
dedykowanych rozwiązań, jak na przykład
przechowywanie ogromnych ilości
danych w celu szybkiego przeszukiwania.
4 JPA - Hibernate 5 REST 6 Spring
W poprzednim przystanku na mapie kariery wspomnieliśmy, że każdy poważny program, a tym bardziej większy system informatyczny, zajmuje się w głównej mierze przechowywaniem danych oraz ich przetwarzaniem. Mimo ciągle rosnącej popularności nosqlowych baz danych, relacyjne bazy nadal mają się całkiem dobrze. A skoro mowa o relacyjnych bazach, to trzeba wspomnieć o frameworkach, które wspierają nas w pracy z tymi bazami.

Mowa tutaj o tak zwanych ORM-ach, czyli systemach mapowania obiektów powiązanych relacjami (Object/Relational Mapping). Prościej mówiąc, wszystko co znajduje się w bazie danych łącznie z relacjami musi znaleźć swoje przełożenie na kod. Tak więc jeśli w bazie mamy do czynienia z tabelami i rekordami, to po stronie kodu będą odpowiadać im encje. Jeśli w tabeli mówimy o kolumnach posiadających określony typ, to w kodzie będą je reprezentować pola w encjach, również o określonym typie (typ obiektu Java). Korzystanie z ORM-a znacząco ułatwia i porządkuje pracę z przetwarzaniem danych po stronie backendu.
Appa Notka. Najpopularniejszym frameworkiem ORM jest Hibernate, który istnieje na rynku od kilkunastu lat. Można z niego korzystać niezależnie od Springa, na przykład razem z EJB. Z tego powodu Hibernate znajduje się na naszej mapie kariery przed Springiem.
Integracja Hibernate'a ze Springiem jest obecnie najczęściej spotykanym połączeniem w aplikacjach webowych. Programując backend takiej aplikacji często spotykamy się z pojęciami takimi jak Spring Data JPA, JPA i Hibernate. Nie każdy jednak wie, co mają ze sobą wspólnego oraz czym się różnią te pojęcia, dlatego przygotowaliśmy specjalny film, w którym odpowiadamy na te pytania!
W celu obejrzenia filmu na pełnym ekranie, kliknij w ikonę Youtube podczas oglądania filmu.

Kurs Hibernate w Springu

Kurs Spring Hibernate zawiera 2 duże projekty oraz 65 omówionych snippetów kodu, wzbogaconych dodatkowo 44 zdjęciami.
Każdy z tematów zawiera więc pełną teorię i praktykę, co pozwoli Ci dokładnie zrozumieć zagadnienia.
Hibernate
Interesujesz się Springiem lub Hibernate? Masz pytania odnośnie odnośnie tych frameworków?
A może chcesz po prostu wiedzieć, co w trawie piszczy?
Dołącz do nowej grupy, w której znajdziesz ciekawe posty oraz poznasz odpowiedzi na swoje pytania!
Grupa Portalu Javappa
  • Regularnie publikowane posty dotyczące Springa i Hibernate'a
  • Możliwość zadawania pytań osobom tworzącym społeczność budowaną wokół tych samych zainteresowań
  • Bezpośredni kontakt z autorem portalu i kursów Javappa!
  • Wymiana doświadczeń między członkami grupy
  • Przyjazna atmosfera w zamkniętej grupie
Dzięki temu kursowi nauczysz się:
  • Rozpoznawać zalety frameworka w porównaniu do tradycyjnego modelu, który wymaga żmudnego budowania własnych zapytań.
  • Rozumieć czym są encje i w jaki sposób tworzyć własne encje, aby były poprawnie zmapowane na struktury bazodanowe.
  • Przekładać relacje bazodanowe na relacje między encjami oraz obsługiwać umiejętnie takie relacje w swoim programie.
  • W jaki sposób wykorzystywać adnotacje Lomboka, po to by jeszcze szybciej i efektywniej korzystać z Hibernate'a.
  • Jak wykonać te same zadania w sposób klasyczny - bez Lomboka.
  • W jaki sposób połączyć Hibernate ze Spring Bootem, aby sprawnie i komfortowo uruchamiać swoje programy bazodanowe.
  • Zapisywać dane w bazie oraz odczytywać je na wiele różnych sposobów.
  • Realizować zadania w bezpieczny sposób poprzez zastosowanie transakcyjności.
  • Wykorzystywać bardziej zaawansowane mechanizmy Hibernate, które pozwolą Ci wydajnie i mądrze programować aplikacje bazodanowe.
Otrzymasz dokładne wytłumaczenie jak wykonać:
  • Tworzenie encji za pomocą adnotacji @Entity oraz @Table.
  • Tworzenie kluczy głównych za pomocą adnotacji @Id wraz z różnymi sposobami generacji wartości dla klucza.
  • Mapowanie kolumn bazodanowych za pomocą adnotacji @Column.
  • Klasę bazową za pomocą adnotacji @MappedSuperclass.
  • Opisanie pola wyliczeniowego za pomocą adnotacji @Enumerated.
  • Dwukierunkowe relacje jeden do jeden, jeden do wiele i wiele do wiele.
    Poznasz dokładnie adnotacje @OneToOne, @OneToMany, @ManyToOne, @ManyToMany oraz @JoinTable.
  • Mapowanie z użyciem elementów takich jak cascade, orphanRemoval, mappedBy, joinColumns, inverseJoinColumns.
  • Wszystkie rodzaje modyfikacji danych CRUD, jak również bardziej skomplikowane algorytmy pracujące na relacjach.
  • Transakcyjne metody działające po stronie usług za pomocą adnotacji @Transactional.
  • Dziedziczenie encji za pomocą strategii Single Table Inheritance oraz Table Per Class Inheritance.
  • Mechanizm dyskryminatora wykorzystujący adnotacje @DiscriminatorColumn i @DiscriminatorValue.
  • Osadzanie w encjach za pomocą adnotacji @Embeddable i @Embedded.
Po wykupieniu dostępu pobierzesz plik z kodami źródłowymi przykładów oraz uzyskasz dostęp do dokładnego wytłumaczenia tego kodu na stronach naszego portalu (zgodnie z poniższą listą rozdziałów). Dobraliśmy materiały tak, aby było Ci łatwo zrozumieć i nauczyć się jak działa Hibernate oraz Hibernate w Springu i w jaki sposób funkcjonują mechanizmy, na których opiera się praktycznie każda poważna aplikacja w Javie.

Lista rozdziałów

  • Hibernate - Szybki wstęp Bazy danych a Hibernate. Co to są i do czego wykorzystujemy adnotacje.

    W pierwszym rozdziale kursu Spring Hibernate omawiamy jak wygląda praca z bazą danych bez frameworka, a jak wygląda z Hibernatem. Wyjaśniamy czym są adnotacje i po co je stosujemy. Przedstawiamy również niewielką zajawkę na temat encji Hibernate. Lektura tego rozdziału nakreśli Ci kierunek w jakim udajemy się w kursie.

  • Hibernate - Przygotowanie projektu Jak wygląda nasz projekt szkoleniowy. Dlaczego warto łączyć Hibernate i Springa. Baza H2.

    W drugim rozdziale przechodzimy do omówienia naszego wyjątkowego projektu. Przedstawiamy jego strukturę oraz metody działania. W dalszej części materiału pokazujemy jak w prosty sposób można wdrożyć Hibernate'a do projektu Spring Boot (nawet całkowicie świeżego), a także uczymy jak podpiąć bazę H2, aby od razu móc cieszyć się pracą z frameworkiem. Dzięki treści tego rozdziału zrozumiesz, że aplikacje bazodanowe w Springu i Hibernate wcale nie muszę być skomplikowane jeśli tylko masz dobry punkt zaczepienia.

  • Hibernate - Pierwsze uruchomienie Struktura bazy danych projektu. Pierwsze uruchomienie projektu w trybie inicjalizacji bazy.

    W tym rozdziale pokazujemy dodatkowe zalety naszego programu. Wprowadzamy Cię w temat raportów na konsoli oraz wybierania trybów uruchomienia. Przedstawiamy również strukturę bazy, na której będziesz pracował. Treść tego rozdziału pozwoli Ci zrozumieć obszar w jakim będziesz się poruszał podczas nauki.

  • Lombok - Podstawy Co to jest Lombok? Instalacja Lomboka. Najważniejsze adnotacje, takie jak @NoArgsConstructor, @AllArgsConstructor, @EqualsAndHashCode, @ToString, @Builder, @Slf4j, @Data (@Getter, @Setter, @RequiredArgsConstructor).

    Kolejny rozdział zawiera materiał, który pozwoli Ci nauczyć się podstaw Lomboka. Jeśli nie znasz jeszcze tej biblioteki, to masz super szansę na nauczenie się jej podstaw niejako przy okazji. W projekcie znajdziesz mnóstwo fragmentów kodu, które wykorzystują opisane w tym rozdziale adnotacje Lomboka. Czytając ten rozdział sam zauważysz, że użycie biblioteki ma sens i jak niewiele trzeba, aby czerpać z niej naprawdę spore korzyści.

  • Hibernate - Pierwsza encja Tworzenie pierwszej encji. Adnotacje @Id, @GeneratedValue, @Column, @MappedSuperclass oraz @Enumerated.

    W tym miejscu przechodzimy do konkretów. Na bazie przykładu z projektu pokazujemy i wyjaśniamy do czego służa i jak działają najważniejsze adnotacje Hibernate. Dowiesz się tutaj jak zdefiniować nazwę dla tabeli i jak generować klucz główny. Nauczysz się również tworzyć klasę bazową dla Twoich encji oraz poznasz sposób zapisu typu wyliczeniowego do bazy. Na koniec zobaczysz czym różnią się projekty spring-boot-materialy-praktyczne oraz spring-boot-materialy-praktyczne-bez-lomboka i jak możesz wykorzystać to, że jesteś w posiadaniu obu tych projektów.

  • Hibernate - CRUD Wykonanie wszystkich metod CRUD. Adnotacja @Transactional.

    Kolejny rozdział wprowadzi Cię w temat podstawowych operacji, które wykonywane są w niemal każdym systemie. Omawiamy tutaj CRUD czyli implementacje metod typu Create, Read, Update, Delete, wykorzystując przy tym podstawy Hibernate oraz Spring Data JPA. Jak zwykle przedstawiamy kolejne fragmenty kodu z naszego projektu, dzięki czemy ani na chwilę nie stracisz kontroli nad połączeniem tych dwóch rozwiązań. Obowiązkowo wprowadzimy Cię w temat transakcyjności i pokażemy czym różni się to co zwraca menadżer encji od tego co obecnie znajduje się w bazie.

  • Hibernate - Relacja jeden do jeden Relacja 1:1 w bazie vs relacja między encjami. Adnotacja @OneToOne. Element cascade. Czym grozi brak kaskadowości.

    Tym rozdziałem zaczynamy cały cykl lekcji poświęconych relacjom w Hibernate. Tak jak między tabelami w bazie, tak samo między encjami odwzorowujemy relacje. W tym przypadku jest to relacja jeden do jeden. Zaczynamy od przypomnienia jak to wygląda z punktu widzenia bazy danych, a potem poswięcamy się już w całości tematowi relacji między encjami. Pokazujemy dokładnie jak działają poszczególne adnotacje oraz ich elementy. Wyjaśniamy również w jaki sposób zapisujemy i odczytujemy dane w tym typie relacji.

  • Hibernate - Relacja jeden do wiele Relacja 1:N w bazie vs relacja miedzy encjami. Adnotacja @OneToMany oraz @ManyToOne. Adnotacja @JoinTable. Właściciel relacji.

    Drugi rozdział z cyklu lekcji o relacjach poświęciliśmy relacji jeden do wiele. Ponownie zaczynamy od bazy danych, by później omówić krok po kroku działanie tych relacji między encjami. W naszych projektach napotkasz kilka relacji jeden do wiele. Będziesz mógł sam przyjrzeć się z bliska jak te relacje funkcjonują w kodzie i jak wyglądają na wydruku z menadżera encji, a na końcu co widać w bazie danych.

  • Hibernate - Relacja wiele do wiele Relacja M:N w bazie vs relacja miedzy encjami. Adnotacja @ManyToMany. Tabela łączącą. Elementy typu joinColumns.

    W trzecim rozdziale o relacjach przedstawiamy najciekawszą i zarazem najbardziej złożoną relację - wiele do wiele. Dowiesz się tutaj jak zamapować dwie encje, aby zostały stworzone dla nich dwie tabele, a także trzecia - łącząca. Na bazie tej relacji pokazujemy kilka różnych scenariuszy, które oczywiście są częścią naszego projektu. Nauczysz sie tutaj budować i zapisywać relacje zarówno między nowymi encjami jak i w połączeniu nowej encji ze starą encją istniejącą w bazie.

  • Usuwanie encji osieroconych (orphan removal) Czym są encje osierocone. Jak tego unikać. Element orphanRemoval. Adnotacje @Embeddable i @Embedded.

    Kontynuujemy temat relacji ale tym razem skupiamy się na dodatkowych obszarach. Analizujemy co się stanie gdy odłączymy encję w relacji w ten sposób, że nie będzie miała kontaktu z inną encją, przez co stanie się encją osieroconą. Pokazujemy jak temu zaradzić i dlaczego warto zastosować podane rozwiązanie. W drugiej części rozdziału pokazujemy również w jaki sposób wyodebniać fragmenty encji do klasy, którą później osadzamy w tej encji. Tłumaczymy jakie są zalety, a jakie wady tego rozwiązania.

  • Hibernate - Single Table Inheritance Dziedziczenie encji vs jedna tabela w bazie danych. Adnotacja @DiscriminatorColumn i @DiscriminatorValue. Parametr typu w repozytorium.

    Na deser pozostawiliśmy kwestię dziedziczenia encji i odwzorowanie tego dziedziczenia w bazie. Na pierwszy ogień wzięliśmy odwzorowanie do jednej tabeli. Dowiesz się tutaj jak sprawić, by kilka encji dziedziczącyh wskazywało na jedną tabelę w bazie. Wyjaśnimy pojęcie kolumny dyskryminatora oraz pokażemy dokładnie ja wygląda taki zapis w bazie danych.

  • Hibernate - Table Per Class Inheritance Dziedziczenie encji a wiele tabel w bazie. Adnotacja @Inheritance i typ TABLE_PER_CLASS.

    W ostatnim rozdziale pokazujemy jak można zaimplementować dziedziczenie, by zostało odzwierciedlone klasa po klasie w osobnych tabelach w bazie. Pokazujemy dokładnie różne metody pobierania danych, tak by otrzymywać różne listy wyników w zależności od wykonanego zapytania. Wyjaśniamy też dlaczego postanowiliśmy pominąć mapowanie dziedziczenia o typie JOINED.

Wymagania do tego kursu:
  • Dobra znajomość Javy.
  • Podstawowa znajomość Mavena.
  • Podstawowa znajomość baz danych.
Appa Notka. Jeśli interesują Cię zagadnienia takie jak Hibernate, możesz być również zainteresowany(a) naszym nowym profesjonalnym Kursem Javy 8 do 14. Zawarliśmy w nim aż 150 przykładów z dokładnym wytłumaczeniem. Wśród nich znajdziesz nie tylko podstawową wiedzę o strumieniach, wyrażeniach lambda i interfejsach funkcyjnych, ale także dokładne objaśnienia dotyczące różnych trudniejszych metod, na przykład reduce, czy merge.
Solidne opanowanie zagadnień przedstawionych w Kursie Hibernate jest kluczem do programowania aplikacji bazodanowych. Wszystkie tematy są ważne i dlatego polecamy dokładnie przeanalizować zgromadzone tutaj materiały. W ramach tego kursu przedstawiliśmy wszystko, czego używaliśmy i używamy w komercyjnych projektach w trakcie naszej pracy z Hibernatem. Wiele z tych zagadnień pojawia się również na rozmowach kwalifikacyjnych.

{{ springHibernateMaterialsBasePrice }} zł      -{{ springHibernateMaterialsSalePercent }} %
Pamiętaj, że po zakupie nie zostajesz sam ze swoimi pytaniami. Dołącz do naszej prywatnej grupy na facebooku i pytaj! Nie chcesz nic kupować? Nic nie szkodzi. Także dołącz do grupy i...czytaj, zadawaj pytania, rozwijaj się!
Pamiętaj, że jeśli kupujesz nasz nowy Kurs Aplikacji Web - Mega pakiet, nic płacisz za Hibernate w Springu.
Wtedy ten kurs jest częścią mega pakietu do nauki programowania aplikacji webowych.
Trwa przygotowywanie Twojej paczki...
 
Wyrażam zgodę na dostarczenie treści cyfrowych przed upływem terminu do odstąpienia od umowy oraz oświadczam, że zostałem poinformowany o utracie przysługującego mi prawa odstąpienia od umowy zgodnie z Regulaminem Serwisu Internetowego javappa.com.

Zapisz się do newslettera :
Zapisz się do newslettera :
Stale się rozwijamy, a więc bądź na bieżąco!
Na ten adres będziemy przesyłać informacje o ważniejszych aktualizacjach, a także o nowych materiałach pojawiających się na stronie.
Polub nas na Facebooku:
Nasi partnerzy: stackshare
Javappa to również profesjonalne usługi programistyczne oparte o technologie JAVA. Jeśli chesz nawiązać z nami kontakt w celu uzyskania doradztwa bądź stworzenia aplikacji webowej powinieneś poznać nasze doświadczenia.
Kliknij O nas .


Starter   Jak to działa   Aplikacja  
Facebook Obserwuj nas   Polityka Cookies   Regulamin   Licencja   Ochrona prywatności  
Pozycjonowanie stron: Grupa TENSE