栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用@OneToMany和@ManyToMany之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用@OneToMany和@ManyToMany之间的区别

好吧,不同之处在于您尝试使用对象反映的设计。

在您的情况下,每个

Question
都可以分配给多个
Categories
-这是
@*ToMany
关系的标志。现在,您必须决定是否:

  • 每个
    Category
    都只能
    Question
    分配一个(这将导致 唯一的 约束,这意味着 没有其他Category可以引用相同的Question )-这将是
    @OneToMany
    关系,
  • 每个
    Category
    可以
    Questions
    分配多个(
    Category
    表中没有唯一约束)-这就是
    @ManyToMany
    关系。

@OneToMany(问题- >类别)

仅当您使用

@JoinTable
或使用显式定义时,连接关系才能由连接表表示。当它是 单向
关系时,其中拥有方为“一个”方(这意味着在
Question
实体中您具有的集合
Categories
,但在
Categories
您中没有对的引用
Question

如果您考虑一下,使用联接表似乎很合理。DBMS没有其他方法可以保存

Question
表中的一行与表中的多行之间的连接
Categories

但是,如果要建模双向关系,则需要指定

Category
(“很多”面)是该关系的拥有面。在这种情况下,DBMS可以在
Category
表中创建带有外键的连接列,因为每一
Category
行只能连接一个
Question

这样,您就没有任何联接表,只有简单的外键(仍然,如开头所述,您可以使用强制创建联接表

@JoinTable
)。

@多多多

此关系必须表示为联接表。它的工作原理与单向

@OneToMany
关系非常相似,但是在这种情况下,您可能会有来自的
Question
多行与来自的多行
Categories



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号