У меня есть две сущности в hibernate (хранилище базы данных MySQL), которые связаны многие со многими.
Это «Проект» и «Категория».
Проект <---> Категория
У меня есть таблица соединений с именем "project_category", чтобы объединить эти объекты, хранящиеся в таблицах "project" и "category". В таблице соединений хранятся только первичные ключи из этих таблиц. Это ключи "project_id" и "category_id".
У меня есть фиксированное количество категорий. Таблица категорий уже заполнена возможным списком категорий для проектов. Когда создается новый проект, он относится к одной или нескольким категориям и хранится в
В моем отображении для класса "Project" я указал переход "многие ко многим" из Project в категорию с использованием таблицы "project_category", которая выглядит следующим образом:
<set name="categories" table="project_category" fetch="join" cascade="persist">
<key column="project_Id" />
<many-to-many column="category_Id" class="Category"/>
</set>
Это то, чего я хочу достичь ..
Я хочу сохранить проект и связанные с ним категории (здесь я не хочу создавать какие-либо новые категории, просто свяжите category_id с моим project_id). Категории уже существуют, и я хочу использовать их при каждом сохранении нового проекта.
В коде я создал коллекцию нужных категорий (из множества категорий, которые есть в таблице категорий) и добавил к экземпляру проекта, пытаясь сохранить проект с помощью спящего режима. Теперь ожидаем, что project_category будет содержать ассоциацию проекта и категорий.
Я наблюдаю, что при сохранении Project спящий режим пытается перейти в категорию (это не то, чего я хочу, потому что у меня уже есть созданная категория - я хочу просто связать ее с моим новым проектом).
Какое отображение нужно для достижения поставленной цели?
Я прочитал эту хорошую статью, но здесь автор создает обе сущности, а не использует уже созданную.
http://technicalmumbojumbo.wordpress.com/2007/09/25/investigating-hibernate-associations-many-to-many/