JPA 一对多映射

2024 年 8 月 29 日 | 阅读 2 分钟

一对多映射属于集合值关联,其中一个实体与另一个实体的集合相关联。因此,在这种类型的关联中,一个实体的实例可以映射到另一个实体的任意数量的实例。

@OneToMany 示例

在此示例中,我们将在 Student 和 Library 之间创建一个一对多的关系,以便一个学生可以借阅多种类型的书籍。

此示例包含以下步骤: -

  • 在 com.javatpoint.mapping 包下创建一个实体类 Student.java,其中包含学生 ID (s_id)、学生姓名 (s_name),并带有 @OneToMany 注释,该注释包含 List 类型的 Library 类对象。

Student.java

  • 在 com.javatpoint.mapping 包下创建另一个实体类 Library.java,其中包含图书 ID (b_id)、图书名称 (b_name)。

Library.java

  • 现在,将实体类和其他数据库配置映射到 Persistence.xml 文件中。

Persistence.xml

  • 在 com.javatpoint.OneToOne 包下创建一个持久类 OneToManyExample,以持久化带有数据的实体对象。

OneToManyExample.java

输出

程序执行后,将在 MySQL workbench 下生成三个表。

  • Student 表 - 此表包含学生详细信息。 要获取数据,请在 MySQL 中运行 select * from student 查询。

JPA One-To-Many Mapping
  • Library Table - 此表包含图书馆图书的详细信息。要获取数据,请在 MySQL 中运行 **select * from library** 查询。

JPA One-To-Many Mapping
  • Student_library table - 此表表示学生表和图书馆表之间的映射。要获取数据,请在 MySQL 中运行 **select * from student_library** 查询。

JPA One-To-Many Mapping
下一个主题JPA 多对一映射