Cześć wszystkim,
Mam pewien problem który nie do końca wiem jak mógłbym rozwiązać, a mianowicie posiadam 3 encje: Student, Przedmiot, Ocena reszta jest nie ważna bo tylko z tymi mam problem.
Moim celem jest wyciągnięcie dla jednego studenta (w zależności od requesta) albo listę wszystkich przedmiotów wraz z wszystkimi ocenami, albo listę ocen dla konkretnego przedmiotu.
Jeśli moje myślenie jest w ogóle błędne proszę o nakierowanie, nie oczekuje tutaj gotowca.
Przechodząc do sedna: Wymyśliłem to w taki sposób, że moja tabela (łącząca) będzie przechowywała po prostu idStudenta, idPrzedmiotu, idOceny dzięki czemu mogę łatwo zapytaniem sobie wyciągnąć potrzebne dane.
Mój problem polega na tym, że nie do końca wiem jak mogę w hibernate zmapować takie 3 tabele, aktualnie po przekopaniu internetu trafiłem na takie rozwiązanie:

I ogólnie jest wszystko spoko, do czasu kiedy potrzebuję to zmapować na jakiś sensowny DTO dla response, ponieważ w tak naprawdę potrzebuje (mniej więcej) coś takiego:
"idStudent": ...
"firstName": ...
"lastName": ...
"subjects" {
"subjectId": ...
"subjectName": ...
"ratings"{
"ratingId": ...
"rating": 5
"weight" : 2
}
}
Nie ukrywam, że troszkę mnie pokonało to wyzwanie dlatego zwracam się tutaj z prośbą o nakierowanie w jaki sposób można to ugryźć :/
Tutaj jeszcze załączę tą tabelę, może to wina mojego modelowania bazy danych ? sam już nie wiem.

Z góry dziękuję za jakąkolwiek wskazówkę :)