Spring boot @JoinColumn及其如何链接两个表

Spring boot @JoinColumn及其如何链接两个表,spring-boot,jpa,Spring Boot,Jpa,我对使用数据库完全是新手,也是Spring Boot的初学者,因此,对于任何错误的术语/模糊逻辑,我深表歉意。这里有一些类似的问题,但我还没有找到我想要的答案,所以我决定发布。闲逛 我正在读一篇关于在SpringBoot中加入表格的文章。他们有一个教师班和一个课程班,这是一对多的关系。他们没有写完整的课程,但上面说你可以进入教师课堂,做: @OneToMany @JoinColumn(name = "TEACHER_ID", referencedColumnName = &q

我对使用数据库完全是新手,也是Spring Boot的初学者,因此,对于任何错误的术语/模糊逻辑,我深表歉意。这里有一些类似的问题,但我还没有找到我想要的答案,所以我决定发布。闲逛

我正在读一篇关于在SpringBoot中加入表格的文章。他们有一个教师班和一个课程班,这是一对多的关系。他们没有写完整的课程,但上面说你可以进入教师课堂,做:

@OneToMany
@JoinColumn(name = "TEACHER_ID", referencedColumnName = "ID")
private List<Course> courses;
@ManyToOne
@JoinColumn(name = "TEACHER_ID", referencedColumnName = "ID")
private Teacher teacher;

让我不舒服的是,在这两种情况下,给JoinColumn的参数都是相同的。假设两个表都有一个名为ID的东西,Spring如何知道使用哪一个呢?它是否从两个表开始,寻找教师id。然后,在找到后,它切换到另一个表以获得id?

实际上,这是关系数据库中一对多映射的方法。 要实现1-N关系,您只需具备:

Table One -> primary_key
Table Many -> primary_key, fk_one_primary_key
通过上面的配置,给定一个表
一个
实体,您可以使用primaryKey foreignKey连接获得它的所有
多个
关系,反之亦然

现在,在您共享的代码中,这两个参数描述为:
ID
->表的主键列
One
/
Teacher

TEACHED\u ID
->表的外键列
很多
/
课程

谢谢!所以Spring知道外键总是在关系的多个方面?是的,这是隐式的。其他框架/语言也会这样做。再次感谢。