我是Spring Boot的新手,我有一个Student.java类和另一个Project.java类。每个学生可以有多个项目(关系为1:M)。我要映射它们,并且具有以下内容:
在Student.java中:
@OneToMany(mappedBy="student")
private List of projects;
在Project.java中:
@ManyToOne <br>
@JoinColumn(name=student_id)
private Student student;
我知道@JoinColumn
在数据库的 project 表中添加了一列,但是我不明白 mappedBy 的作用是什么?我发现:“ mappedBy表示实体是关系的逆向。” 关系的逆向是什么意思?
我尝试了数据库中的代码,当我没有mapedBy时,我在数据库中得到3个表(一个包含projectId和studentId的表),但是我不知道它是如何工作的。感谢您的帮助:)
答案 0 :(得分:0)
您可以查看https://docs.oracle.com/javaee/6/api/javax/persistence/OneToMany.html#mappedBy()了解更多详细信息。
拥有关系的字段。除非关系是单向的,否则为必需。
它告诉 JPA ,查找是否有名称为student
的bean属性并使用此配置。
在您的代码中,它将在Project
实体中找到配置。