Наличие разных связей с одной и той же таблицей в режиме гибернации

#hibernate

#переход в режим гибернации

Вопрос:

У меня следующий сценарий. Существуют сущности Authors и Courses с отношением «один ко многим» от Author к Courses. Затем у меня есть объекты Students и Enrollments, причем последний является столбцом соединения для отношений «Многие ко многим» между объектами Students и Courses.

Теперь вместо двух сущностей, авторов и студентов, я хотел бы иметь одну сущность, назовем ее Accounts . В этом случае у меня есть одно поле account_id в сущности Courses, которое используется в двух отношениях. Это выдает мне ошибку, но для меня это кажется допустимым случаем. Ошибка JsonMappingException: бесконечная рекурсия.

Ответ №1:

Я решил проблему, добавив

 @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,
        property = "id")
  

В сущности Accounts. Остальное остается нетронутым.