Я собрал ваш код и обнаружил, что эта проблема связана с методами, сгенерированными lombok hashCode()/equeals()
и toString()
at model.Student.hashCode(Student.java:13)
at java.util.HashMap.hash(HashMap.java:339)
at java.util.HashMap.put(HashMap.java:612)
at java.util.HashSet.add(HashSet.java:220)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
...
...
...
at model.Course.hashCode(Course.java:13)
at java.util.HashMap.hash(HashMap.java:339)
at java.util.HashMap.put(HashMap.java:612)
at java.util.HashSet.add(HashSet.java:220)
У меня удалены все аннотации lombok (добавлено поле рейтинга в БД) и результат:
[Student{id=123, name='Manu', likedCourses=[Course{id=224, name='Course2'}, Course{id=223, name='Course1'}], registrations=[CourseRegistration{id=1, rating=1}, CourseRegistration{id=2, rating=1}]}, Student{id=124, name='Susan', likedCourses=[Course{id=223, name='Course1'}], registrations=[CourseRegistration{id=3, rating=1}]}, Student{id=125, name='Jacob', likedCourses=[Course{id=224, name='Course2'}, Course{id=223, name='Course1'}], registrations=[CourseRegistration{id=4, rating=1}, CourseRegistration{id=5, rating=1}]}, Student{id=126, name='Mathew', likedCourses=[Course{id=224, name='Course2'}, Course{id=223, name='Course1'}, Course{id=226, name='Course4'}], registrations=[CourseRegistration{id=6, rating=1}, CourseRegistration{id=8, rating=1}, CourseRegistration{id=7, rating=1}]}, Student{id=127, name='Sunny', likedCourses=[], registrations=[]}]