CodeGym /Java tanfolyam /All lectures for HU purposes /Kapcsolódó projekt: Hibernate (2)

Kapcsolódó projekt: Hibernate (2)

All lectures for HU purposes
Szint , Lecke
Elérhető

Ma az a feladatunk, hogy befejezzük a második projektet a Hibernate témakörben. Lényege, hogy megértsük az adatbázis szerkezetét, leképezzük az entitást a meglévő táblákra, és hozzáadjuk a minimális funkcionalitást, hogy ellenőrizzük, hogy a leképezés megfelelően történik-e.

Most részletesebben:

  1. Töltse le a dump fájlt , és telepítse a helyi gépére. Adatbázisként egy tesztadatbázist fogunk használni, amelyet példaként a MySQL telepítőcsomaggal együtt terjesztünk. A dump az adatbázis állapotának javításához szükséges, mivel nem tudjuk garantálni, hogy egy nap, hónap, év alatt nem változik.
  2. Nem lesz projektsablonunk, ezért saját maga hozza létre a projektet. Egy maven projektnek kell lennie minden szükséges függőséggel ( hibernate-core-jakarta , mysql-connector-java , p6spy ).
  3. Csatlakoztassa a helyi telepített adatbázisunkat adatforrásként az Idea-ban. Ezután az Adatbázis lapon vigye a kurzort a filmsémára, és nyomja meg a billentyűkombinációt Alt+Ctrl+Shift+U(csak az Ultimate verzióban működik). Ez megmutatja a teljes filmséma szerkezetét (oszlopnevekkel, kulcsokkal stb.). Így néz ki:

    Egyetértek, nem túl kényelmes nézni. Kapcsolja ki az összes oszlop és megjegyzés címének megjelenítését:

    Ennek eredményeként egy már elemezhető adatbázissémát kap:

  4. Az áramkör bonyolultnak tűnik, de nem minden olyan rossz. Az adatbázis szerkezetének elemzéséhez meg kell találnia, hol kezdje el. Nincs egyetlen helyes válasz, de azt javaslom, hogy egy táblázattal kezdje film. Vegyünk példának néhány kapcsolatot:
    • A filmés a táblák közötti kapcsolat film_textexplicit OneToOne kapcsolat , mivel a táblának film_textvan egy mezője, film_idamelyNEMtáblázatból származó azonosítóra utal film(nincs idegen kulcs). De név és logika alapján ennek a kapcsolatnak kell lennie. Ezenkívül a táblázatban film_texta mező film_idelsődleges kulcsként működik, amely garantálja, hogy egy „film” legfeljebb egy „filmszövegnek” feleljen meg.
    • Most nézzük a táblázatokat filmés category. Logikusan egy filmnek több kategóriája lehet. És egy kategória, esetleg más filmek. Ezenkívül van egy közbenső hivatkozási tábla a két tábla között film_category. A fentiek alapján ez egy explicit ManyToMany kapcsolat .
    • Megnézzük a táblázatokat filmés language. A logika szempontjából a filmnek több nyelvre is lehet fordítása, és különböző filmek lehetnek ugyanazon a nyelven. Vagyis a ManyToMany javasolja magát . De ha megnézzük a táblázat tartalmát film, láthatjuk, hogy a táblázat minden sora egyedi film. És csak egy language_id mező van a sorban (van még original_language_id is, de minden rekordban null, így figyelmen kívül hagyhatjuk). Vagyis egy filmnek csak egy nyelve lehet. És egy nyelv, esetleg különböző filmek. A kapcsolat a ManyToOne (a kapcsolat filmről nyelvre irányul).
  5. Most a fő feladat az összes szükséges entitásosztály létrehozása és leképezése a sématáblázatokra movie.
  6. Adjon hozzá egy metódust, amely új vevőt (ügyféltáblát) hozhat létre az összes függő mezővel. Ne felejtse el a módszert tranzakcióssá tenni (hogy ne kerüljön olyan helyzetbe, hogy a vevő címe szerepel az adatbázisban, de maga a vevő nem).
  7. Adjon hozzá egy tranzakciós módszert, amely leírja az „ügyfél elment, és visszaadott egy korábban kölcsönzött filmet” eseményt. Válasszon tetszőleges vevőt és kölcsönzési eseményt. A film értékelését nem kell újraszámolni.
  8. Adjon hozzá egy tranzakciós módszert, amely leírja a „vevő elment az üzletbe (üzletbe) és ott bérelt (bérleti) készletet (készletet)” eseményt. Ezzel egyidejűleg fizetést (kifizetést) hajtott végre az eladónak (személyzetnek). A filmet (leltáron keresztül) saját belátása szerint válassza ki. Az egyetlen megkötés az, hogy a filmnek kölcsönözhetőnek kell lennie. Vagyis vagy egyáltalán ne legyen készletnyilvántartás a kölcsönzésben, vagy a készlet utolsó kölcsönzésére vonatkozó táblázat visszatérési_dátum oszlopát kell kitölteni.rental
  9. Adjon hozzá egy tranzakciós módszert, amely leírja az „új filmet forgattak, és kölcsönözhetővé vált” eseményt. Filmet, nyelvet, színészeket, kategóriákat stb. saját belátása szerint választhat.
  10. A táblázat szerkezete nem módosítható. De javaslatokat kell tennie a javításra. A 4. bekezdésben azonosítottunk egy problémás helyet ( az idegen kulcs hiánya a táblázat film_textmezőjében ). Nézze meg, vannak-e még ilyen „hibák” az adatbázis-struktúrában. Ha igen, adjon hozzá egy readme fájlt a projekt gyökeréhez, és írja le ezeket a hibákat.film_idfilm

Projekt elemzés:

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION