我在 Item 和 Category 之间有@ManyToMany(双向)关系。
class Item {
@ManyToMany(cascade = CascadeType.ALL)
Collection<Category> categories=new ArrayList<Category>();
}
class Category {
@ManyToMany(mappedBy="categories", cascade = CascadeType.ALL)
Collection<Item> items=new ArrayList<Item>();
}
我在两者上都指定了 CascadeType.ALL。项目是所有者。多对多关系将使用第三个表 (Item_Category) 进行映射
当我创建一个项目并将类别添加到该项目并保存该项目时,该项目中的所有类别都会保留。在连接表中也有必要的条目(如预期的那样)。
但是,当我创建一个类别并向其添加新项目并保存该类别时,我看到在项目和类别表中创建了必要的条目,但在 Item_Category 连接表中没有插入。因此,无法正确创建关联。
这是预期的行为吗?这意味着只有当我们在 Item 中添加类别时关联表才会有条目,因为 Item 是关系的所有者?