Hibernate, java.util.Map

Запутался с отображением Map в БД с использование Hibernate.

Весь код доступен на битбакете. Возникает вопрос с классом StudentChoise (где Map< Long, Teacher> => <приоритетСтудента, преподаватель>), как правильно отобразить это в таблице, чтобы все оставалось нормализированным=)


Ответы (1 шт):

Автор решения: petrovich

Если я правильно понял, то studentPriority служит для ранжирования студентов преподавателями.

Создайте отдельную сущность StudentPriority. В нее добавьте внешние ключи типа many-to-one на Student, Teacher, а также обязательно создайте внешние ключи на эти связи. Добавьте поле типа Long, которое будет хранить собственно рейтинг.

Такая организация позволит избавиться от Map в StudentChoise, заменив его на List, а также удовлетворять требованиям нормализации.

Есть очень хорошая статья по этой теме.

→ Ссылка