Tabuľky s cudzími kľúčmi a mazanie

Ciele

  1. Naučiť sa čítať hodnôt atribútov objektov pomocou reflexie.
  2. Zlepšiť sa v analýze štruktúry tried pomocou reflexie.
  3. Dokončiť implementáciu zadania.
  4. Precvičiť návrh štruktúry kódu vzhľadom na budúce zmeny.

Postup

Krok 1: Diskusia k článku

Úloha 1.1

Povedzte o tom, čo vás zaujalo na Idioms for code annotations in the Java language? S ktorými idiomami ste sa stretli v praxi?

Krok 2: Referencie na objekty a cudzie kľúče

Úloha 2.1

Doplňte implementáciu metód get(), getAll() a save() o podporu referencii na objekty.

V prípade get() a getAll() je potrebné načítať referovaný objekt na základe ID. V prípade save() získať ID objektu a uložiť ho do databázy. Ak referovaný objekt má ID rovné nule, vyhodí sa výnimka PersistenceException.

Krok 3: Mazanie objektov

Úloha 3.1

Doplňte implementáciu metódy delete().

Poznámka

V metóde delete() nie je nutné riešiť referencie na objekty.

Krok 4: Architektúra

Úloha 4.1

Odstráňte zbytočné opakovania kódu a rozdeľte vaše riešenie s ohľadom na budúce zmeny v ďalších iteráciách zadania.

Doplňujúce úlohy

Úloha A.1

BONUS: Implementujte podporu operácie JOIN pre efektívnejšie získanie objektov s referenciami na iné objekty.