Я создаю приложение Java CRUD, которое будет служить инструментом управления колледжем.Моя база данных содержит 5 таблиц (колледж, учебная программа, курс, профессор и студент).Я хотел бы показать и оценить оценку каждого студента для каждого курса.Я обозначил студента и курс как отношения «многие ко многим» -> 1 студент может посещать много курсов одновременно, и на 1 курсе обучается много студентов.Нужно ли создавать дополнительную таблицу или я должен реализовать HashMap, содержащий Student и Integer (класс) в качестве пары ключ-значение внутри моего объекта Course?Или есть гораздо лучший способ добиться этого?
Вот мой POJO для студента:
@Data
@EqualsAndHashCode(callSuper=false)
@Entity
public class Student extends Person implements Serializable{
private String JMBAG;
@ManyToMany(mappedBy = "students")
private List<Course> courses;
}
, а вот мой курс POJO:
@Data
@EqualsAndHashCode(callSuper=false)
@Entity
public class Course extends CollegeManagerEntity implements Serializable {
private String name;
private Integer year;
private Integer ects;
private Integer numberOfClasses;
private Integer numberOfAuditorialExercises;
private Integer numberOfLaboratoryExercises;
private Integer numberOfConstructionalExercises;
@ManyToMany
private List<Professor> professors;
@ManyToMany
private List<Student> students;
@ManyToMany(mappedBy = "courses")
private List<StudyProgramme> studyProgrammes;
}