Witam, zaczynam dopiero ze Springiem i chciałbym poprosić was o radę. W swojej aplikacji mam 3 modele: Day, Stage, Exercise. Day to jest dzień treningowy, który zawsze zawiera 3 etapy (Stage). Każdy z etapów może mieć dowolną liczbe ćwiczeń (Exercise), przyważnie byłoby to ok. 10 . Zastanawiam się w jaki sposób zaprojektować klasy i relacje. Z racji, że Day zawsze posiada odgórnie stworzone 3 etapy, które rzadko są aktualizowane, chciałem zrobić tutaj relację jeden do wielu (czyli w klasie Day jest zbiór etapów). Z racji, że ćwiczenia często będą tworzone i aktualizowane to tutaj chciałem zrobić realcje wiele do jednego, czyli klasa Stage nic nie wie o ćwiczeniach, za to każde z ćwiczeń zawiera id obiektu Stage. Wyglądało by to tak
public class Day {
private String id;
private Set<Stage> stages
}
public class Stage {
private String id;
}
public class Exercise {
private String id;
private String stageId;
}
Czy moje myślenie jest dobre i jest to dobry sposób na zaprojektowanie tego? Problemem jednak jest to, że na frontendzie wszystkie rzeczy wyświetlam na jednym ekranie i tam potrzebowałbym za każdym razem ściągać jeden duży obiekt Day, który zawierałby tablicę etapów i każdy z etapów zawierałby tablicę ćwiczeń. W takim wypadku jest to jednak chyba nie możliwe. Co byście w takiej sytuacji doradzili? Czy może w każdej sytuacji zrobić relacje dwukieronkowe i nie przejmować się? Jest to zgodne z zasadami dobrych praktyk?