Я новичок в мире гибернации, поэтому запутался в написании файла сопоставления в следующих условиях.
У меня есть следующий класс, который я хочу сохранить с помощью hibernate:я уже создал следующие таблицы вручную в базе данных:
+---------------------------+
project
+---------------------------+
project_id (pk) | description
+---------------------------+
+---------------------------+
organizations
+---------------------------+
org_id(pk) | org_name
+---------------------------+
, чтобы связать organization
и project
таблицу, у меня есть следующие таблицы:
+-------------------------------------------------------------+
project_clients
+-------------------------------------------------------------+
project_id(fk of projects) | client_id(fk of organizations)
+-------------------------------------------------------------+
+-------------------------------------------------------------+
project_employers
+-------------------------------------------------------------+
project_id(fk of projects) | employer_id(fk of organizations)
+-------------------------------------------------------------+
Понятия не имею, как сопоставить эти таблицы с моим project
классом?Есть идеи, как это сделать?
Я пытался использовать преимущества списков, но с сохранением списков мы не можем использовать таблицу ссылок, например (project_clients
или project_employers
), и я не хочу создавать отдельный класс для списка клиентов и списка работодателей.Или это единственный вариант?
Пожалуйста, помогите!
РЕДАКТИРОВАТЬ 1 Спасибо, ребята, за ответы.У меня есть еще один запрос.Как сказать hibernate, что для клиента (например, «foo company») он должен искать «foo company» в таблице организаций и, если это имя присутствует, взять соответствующий идентификатор и поместить его в таблицу project_clients.Если в таблице «организации» нет «foo company», добавьте ее, а затем возьмите соответствующий идентификатор.Я хочу сделать то же самое и для работодателя.Можно ли сделать это в спящем режиме?
В настоящее время я написал программу на Java для всего этого.