Ciele
- Zlepšiť sa v analýze štruktúry tried pomocou reflexie.
- Dokončiť implementáciu zadania.
- Precvičiť návrh štruktúry kódu vzhľadom na budúce zmeny.
Postup
Krok 1: Referencie na objekty a cudzie kľúče
Úloha 1.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 2: Mazanie objektov
Úloha 2.1
Doplňte implementáciu metódy delete().
Poznámka
V metóde delete() nie je nutné riešiť referencie na objekty.
Krok 3: Architektúra
Úloha 3.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.