У меня есть отношения Многие ко многим между двумя сущностями: Item и ItemCategory
В классе Item
@ManyToMany(cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(
name="LINK_ITEM_CATEGORY",
joinColumns={@JoinColumn(name="ITEM_ID")},
inverseJoinColumns={@JoinColumn(name="CATEGORY_ID")}
)
private Set<ItemCategory> associatedCategories = new HashSet<ItemCategory>();
В классе ItemCategory
@Column(name="NAME")
private String name;
@ManyToMany(mappedBy="associatedCategories")
private Collection<Item> comprisesExpenditure = new ArrayList<Item>();
Всякий раз, когда я пытаюсь сохранить Предмет, категории, добавленные в Набор associatedCategories
, сохраняются, даже если в базе данных существует категория с таким же name
. Есть ли способ для hibernate для поиска категорий на основе name
и создания ссылки с существующей вместо создания новой категории и связывания элемента с новой.