JPA 级联持久化

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

级联持久化用于指定如果持久化一个实体,那么所有与其关联的子实体也会被持久化。以下语法用于执行级联持久化操作: -

JPA 级联持久化示例

在本例中,我们将创建两个相互关联的实体类,但为了建立它们之间的依赖关系,我们将执行级联操作。

此示例包含以下步骤: -

  • 在 com.javatpoint.jpa.student 包下创建一个名为 StudentEntity.java 的实体类,该类包含属性 s_id、s_name、s_age 和一个使用级联规范标记的 Subject 类型的对象。

StudentEntity.java

  • 在 com.javatpoint.jpa.subject 包下创建另一个名为 Subject.java 的实体类。

Subject.java

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

Persistence.xml

  • 在 com.javatpoint.jpa.cascade 包下创建一个名为 StudentCascade.java 的持久化类,以持久化带有数据的实体对象。

StudentCascade.java

注意 - student 表中的主键 s_id 将作为 subject 表中的外键,以维持两个表之间的关系。

输出

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

  • 学生表 - 要提取数据,请在 MySQL 中运行 select * from student

JPA Cascade Persist
  • 科目表 - 要提取数据,请在 MySQL 中运行 select * from subject

JPA Cascade Persist
下一个主题JPA 级联移除