我在谷歌上搜索了很多与Hibernate多对多关系有关的例子。我发现所有帖子在这种关系中使用连接表注释 (@JoinTable)。
我必须在多对多中使用@JoinTable吗?
如果是,为什么?
如果没有,我该如何实现这种关系?
您的问题的答案是肯定的,如果要为多对多关联创建架构,则使用联接表是唯一可用的解决方案。
为什么?-您需要在两个实体表(A和B)之间有一个连接表(A.id <--> B.id)来映射关联。
例如,学生和教师,学生实体可能没有教师 ID FK,教师实体可能不包含学生 ID FK
我认为这篇文章将回答如何实现这种关系。
还要注意双向关联,如果一侧是所有者,那么一侧是反向端(即在更新关联表中的关系值时将被忽略):具有 mappedBy 属性的边是反边。没有 mappedBy 属性的一侧是所有者。