gpt4 book ai didi

java - JPA 一对多关系映射

转载 作者:行者123 更新时间:2023-12-02 06:14:06 26 4
gpt4 key购买 nike

我是 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表中添加了一列,但我不明白ma​​ppedBy做了什么?我发现:“mappedBy 表示实体是关系的逆元。关系的逆元是什么意思?

我尝试了数据库中的代码,当我没有mappedBy时,我在数据库中得到3个表(另一个包含projectId和studentId的表),但我不明白它是如何工作的。感谢您的帮助:)

最佳答案

您可以看看https://docs.oracle.com/javaee/6/api/javax/persistence/OneToMany.html#mappedBy()了解更多详情。

The field that owns the relationship. Required unless the relationship is unidirectional.

它告诉 JPA 四处查找是否有名为 student 的 bean 属性并使用此配置。在您的代码中,它将在 Project 实体中找到配置。

关于java - JPA 一对多关系映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com