JPA 多对多映射

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

多对多映射表示一个集合值关联,其中任意数量的实体可以与另一组实体的集合相关联。 在关系数据库中,一个实体的任意数量的行可以引用另一个实体的任意数量的行。

@ManyToMany 示例

在此示例中,我们将创建一个 Student 和 Library 之间的多对多关系,使得任意数量的学生可以借阅任何类型的书籍。

此示例包含以下步骤: -

  • 在 com.javatpoint.mapping 包下创建一个实体类 Student.java,其中包含学生 id (s_id) 和学生姓名 (s_name),以及包含 List 类型的 Library 类对象的 @ManyToMany 注解。
  • 在 com.javatpoint.mapping 包下创建另一个实体类 Library.java,其中包含书本 id (b_id)、书本名称 (b_name),以及包含 List 类型的 Student 类对象的 @ManyToMany 注解。

Library.java

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

Persistence.xml

  • 在 com.javatpoint.ManyToOne 包下创建一个持久化类 ManyToOneExample,用于持久化具有数据的实体对象。

输出

程序执行后,将在 MySQL 工作台中生成三个表。

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

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

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

JPA Many-To-Many Mapping
下一个主题JPA 级联操作