连接三个表的表代码

时间:2017-11-29 18:20:07

标签: java jpa entity persistence

为其他3个表编写连接表的最优雅和可维护的方法是什么?

假设我有三个表:学校,学生,老师,所有人都有主键(ID)。

学生可以上很多学校,有很多老师。 教师可以在许多学校任教。老师可以在不同的学校教授同一个学生(或不)。

我在两个表之间看过许多关于多对多关系的文章,但找不到处理三个表的正确方法,

欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

首先 - 在我看来 - 你需要添加类似Course概念的东西。这段关系可以告诉您Student某些Teacher在某些特定School中教授的内容。

我介绍它是因为我猜不是Teacher中的所有School教导都教会所有Student人参加School

  • Course保留在一个School上。 School可以包含多个Course个。 (关系)

  • Course有很多Student个。 Studend参加了很多Course次。 (关系)

  • Teacher教许多Course个。 Course有一位老师。 (关系)

在此集合中,有一个ManyToMany关系,即Student - CourseCourseManyToOneTeacher个关系。 School

答案 1 :(得分:1)

我会使用ORM来帮助你解决这些关系。我认为你们的关系是多对多的关系。

这是一篇文章,展示了你想要的匹配。

Describing Relationships: Django's ManyToMany Through