[VSA | Cvičenie] 4 - JPA obojsmerné asociácie

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Cvičenie sa zaoberá konfiguráciou obojsmerných asociácií v JPA, nadväzujúc na predchádzajúcu jednosmernú väzbu medzi entitami Game a Developer. Vysvetľuje sa rozdiel medzi vzťahom 1:N/N:1 (Game–Developer) a N:N (Game–Publisher), pričom sa demonštruje použitie anotácií OneToMany, ManyToOne a atribútu mappedBy na určenie vlastníka vzťahu. Na úvod cvičenia sa riešia aj organizačné otázky k opravovaniu teoretických testov a termínu implementačného testu. Diskutuje sa tiež o používaní JPQL príkazu UPDATE v rámci named query a odporúča sa namiesto priameho update radšej používať manažované entity a doménové metódy pre lepšiu čistotu a flexibilitu kódu.

  • - Obojsmerné asociácie v JPA nadväzujú na predchádzajúce jednosmerné vzťahy (Game–Developer, Game–Publisher).
  • - Anotácia JoinColumn definuje stĺpec na databázovej úrovni, zatiaľ čo OneToMany/ManyToOne definujú vzťah na úrovni JPA entít.
  • - Pri obojsmernej asociácii sa vzťah konfiguruje pomocou mappedBy na strane, kde je zoznam entít (napr. Developer).
  • - Rozlišujú sa dva typy vzťahov: 1:N/N:1 (Game–Developer) a N:N (Game–Publisher–Game) s rôznymi úskaliami.
  • - Neodporúča sa používať JPQL UPDATE priamo v named query pre zmenu dát, lepšie je použiť manažované entity cez EntityManager v transakcii.
  • - Named query je vhodné použiť najmä na selecty a vyhľadávanie, nie na update/insert operácie.
  • - Diskutované boli aj organizačné otázky: oprava teoretických testov a termín implementačného testu v čase cvičenia.

Zhrnutie pripravené s pomocou AI z prepisu videa.