比如说
Student和Teacher两表对应关系都为@ManyToMany就多了个Student_Teacher的表,有这个表有什么意义,我不太明白多对多要第三张表干啥呢?求指点
@ManyToMany是不是会多出一张表
答案:2 悬赏:70 手机版
解决时间 2021-02-20 19:16
- 提问者网友:留有余香
- 2021-02-20 08:31
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-02-20 09:04
数据库里,一个表的主键和另一个表的外键组合起来,表达“一对多”的关系。
数据库里没有一种直接的机制来用两个表来表达“多对多”的关系,所以需要用两个“一对多”(或是一个“一对多”和一个“多对一”)来间接实现。
就拿你说的Student指向Student_Teacher是一对多,而Teacher指向Student_Teacher也是一对多,这都是通过前表的主键、和后表的外键实现的。你进数据库里看看就明白了。
这样组合起来,Student和Teacher就是”多对多“了。
数据库里没有一种直接的机制来用两个表来表达“多对多”的关系,所以需要用两个“一对多”(或是一个“一对多”和一个“多对一”)来间接实现。
就拿你说的Student指向Student_Teacher是一对多,而Teacher指向Student_Teacher也是一对多,这都是通过前表的主键、和后表的外键实现的。你进数据库里看看就明白了。
这样组合起来,Student和Teacher就是”多对多“了。
全部回答
- 1楼网友:往事隔山水
- 2021-02-20 09:41
多对多里有个级联属性,叫什么casecade=“delete”的,配置了就可以了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯