【发布时间】:2018-05-13 13:07:18
【问题描述】:
为其他 3 个表编写连接表的最优雅和可维护的方法是什么?
假设我有三个表:School、Student、Teacher,它们都带有主键 (ID)。
学生可以上很多学校,有很多老师。 教师可以在许多学校任教。老师可以教不同学校的同一个学生(或不教)。
看了很多两表多对多关系的文章,却找不到正确的处理三表的方法,
欢迎提出任何建议。
【问题讨论】:
标签: java jpa entity persistence
为其他 3 个表编写连接表的最优雅和可维护的方法是什么?
假设我有三个表:School、Student、Teacher,它们都带有主键 (ID)。
学生可以上很多学校,有很多老师。 教师可以在许多学校任教。老师可以教不同学校的同一个学生(或不教)。
看了很多两表多对多关系的文章,却找不到正确的处理三表的方法,
欢迎提出任何建议。
【问题讨论】:
标签: java jpa entity persistence
首先 - 在我看来 - 你需要添加类似 Course 的概念。正是这种关系告诉你Students 一些Teacher 在一些特定的School 中教导。
我之所以介绍它是因为我猜不是所有Teachers 的教学都在一些School 教所有Students 关注School。
Course 保留在一个 School 上。 School 可以有多个 Courses。 (关系)
Course 有很多 Students。 Studend 参加了许多 Courses。 (关系)
Teacher 教很多Courses。 Course 有一位老师。 (关系)
在这个集合中有一个ManyToMany 关系,即Student-Course。 Course 与 Teacher 和 School 有 ManyToOne 关系。
【讨论】:
Course,它也是一个Entity。
我会使用 ORM 来帮助您处理这些类型的关系。我认为你们的关系是多对多的关系。
这是一篇文章,显示了可能与您想要的匹配。
【讨论】: