Hibernate, java.util.Map
Запутался с отображением Map в БД с использование Hibernate.
Весь код доступен на битбакете. Возникает вопрос с классом StudentChoise (где Map< Long, Teacher> => <приоритетСтудента, преподаватель>), как правильно отобразить это в таблице, чтобы все оставалось нормализированным=)
Ответы (1 шт):
Если я правильно понял, то studentPriority служит для ранжирования студентов преподавателями.
Создайте отдельную сущность StudentPriority. В нее добавьте внешние ключи типа many-to-one на Student, Teacher, а также обязательно создайте внешние ключи на эти связи. Добавьте поле типа Long, которое будет хранить собственно рейтинг.
Такая организация позволит избавиться от Map в StudentChoise, заменив его на List, а также удовлетворять требованиям нормализации.
Есть очень хорошая статья по этой теме.