Kurs Spring

Hibernate - Pierwsze uruchomienie

W momencie uruchomienia projektu spring-hibernate-materialy-praktyczne zobaczysz, że dodaliśmy do niego coś ekstra. Postanowiliśmy maksymalnie uprościć wykonywanie analizy zmian danych w programie i dlatego po każdej operacji są one automatycznie pobierane i wyświetlane na konsoli w odpowiednio przygotowanej formie.

W ten sposób my możemy prowadzić kurs w uporządkowany sposób, a Ty otrzymujesz od razu czytelną informację co do tego, jaki kod wykonałeś i jaki jest tego efekt w programie. Według nas jest to niezbędne, aby szybko i sprawnie zrozumieć przytaczane zagadnienia. Co więcej, jeśli nie chcesz, to nie musisz sam analizować zmian, ponieważ wszystko dokładnie zaznaczamy. Możesz nawet odpiąć starter web, a po każdym uruchomieniu programu w wybranym trybie i tak otrzymasz wystarczające informacje na temat wykonanego procesu.

Inicjalizacja bazy

Program domyślnie jest ustawiony w trybie INIT, a to oznacza, że po uruchomieniu tabele w bazie zostaną wypełnione danymi. Dodatkowo, zgodnie z tym co napisaliśmy we wstępie, na konsoli pojawi się odpowiednio sformatowany wydruk, informujący o tym jakie dane zostały wprowadzone do bazy. Aby nie zaciemniać obrazu pokazujemy tutaj tylko kluczowe wpisy. Zwróć uwagę na informację o nazwie wykonywanej metody w kodzie. Zaraz pod nią wyświetla się podsumowanie obecnego stanu danych.
Spring Hibernate - Wydruk programu na konsoli
Powyższy wydruk pokazuje jaki jest stan danych w tabeli items. Tabela zawiera rekordy, ponieważ zgodnie z wybranym trybem wykonała się metoda initializeItems zdefiniowana w klasie DatabaseInitializer:
Spring Hibernate - Inicjalizacja bazy - start
Spring Hibernate - Inicjalizacja bazy
Metoda tworzy obiekty typu Item, a następnie zapisuje je do bazy. Szczegóły podamy w kolejnych rozdziałach. W tym momencie ważne jest, abyś zapamiętał/a że obiekty, które Hibernate wysyła do bazy nazywamy encjami.

Struktura bazy

W tym miejscu jesteśmy Ci winni jeszcze jedno wyjaśnienie. Dokładnie chodzi o to, na jakich danych bedziemy operować w programie i jakie relacje bedziemy budować. Tak więc nasz program tworzy 12 tabel:
Spring Hibernate - Inicjalizacja bazy
Przyjrzyj się teraz co znajduje się w tych tabelach:
  • items

    Zawiera podstawowe dane o itemach takie jak id, nazwa i status oraz posiada relacje z innymi tabelami. Łączy się relacją jeden do jednego z tabelą items_descriptions, relacją jeden do wiele z tabelą types oraz wiele do wiele z tabelą categories. Dodatkowo posiada też relację wiele do wiele z tabelą attributes.
  • items_descriptions

    Zawiera opisy itemów i posiada kolumny takie jak id, description oraz posiada relacje jeden do jednego z tabelą items.
  • types

    Zawiera podstawowe dane o typach itemów takie jak id, nazwa oraz posiada relacje jeden do wiele z tabelą items.
  • categories

    Zawiera podstawowe dane o kategoriach itemów takie jak id, nazwa oraz posiada relacje wiele do wiele z tabelą items.
  • attributes

    Zawiera podstawowe dane o atrybutach itemów takie jak id, nazwa oraz posiada relacje wiele do wiele z tabelą items. Posiada również dodatkowo relację jeden do wiele z tabelą attributes_values.
To jest pierwsza część naszego programu. Na bazie tych tabel pokażemy Ci jak budować podstawowe elementy w Hibernate, między innymi relacje między encjami. Zobaczysz również jak można dziedziczyć klasami encji z jednej klasy bazowej oraz jak można opakować wiele obiektów jednym obiektem, po to by następnie podpiąć go do encji.

Kolejną częścią programu jest obszar dotyczący kont użytkowników. Tutaj zobaczysz jak do pojedynczej tabeli w bazie podpinamy kilka encji! Dowiesz się też co to dyskryminator. Ta część programu pracuje na tabeli:
  • accounts

    Zawiera podstawowe dane o koncie takie jak id, imię, nazwisko, miasto. W przypadku konta firmowego bedzie to jeszcze nazwa firmy i nip, a dla konta prywatnego będzie to nickname. Tabela co prawda jest jedna, ale stworzone są tutaj osobne encje dla konta prywatnego i dla konta firmowego.
Na koniec pozostało nam przedstawienie tabeli:
  • documents

    Zawiera podstawowe dane o dokumentach takie jak id, nazwa, zawartość. W przypadku dokumentów typu excel bedzie to jeszcze formuła, a dla dokumentów typu word będzie to styl tekstu. Analogicznie jak poprzednio, tabela jest jedna, ale stworzone są tutaj osobne encje dla dokumentów typu excel i dokumentów typu word. W tym przypadku pojawia się również osobna encja dedykowana ogólnemu typowi dokumentu.
Tak wygląda struktura bazy danych. Zaraz przejdziemy do nauki poszczególnych elementów Hibernate'a, tak aby baza była w pełni obsługiwana po stronie kodu Java. Najpierw jednak jeszcze jeden rozdział dotyczący biblioteki, o której trzeba wspomnieć. Mowa o bibliotece Lombok. Jeśli w ogóle nie jesteś nią zainteresowany/a, to nie musisz się przejmować tym rodziałem. Kurs zawiera dwa projekty będące swoim lustrzanym obiciem. Jeden korzysta z Lomboka, a drugi nie.

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 .


Pozycjonowanie stron: Grupa TENSE