java - JPA,删除子实体时删除实体

标签 java jpa

我有以下实体:

  @Data
  @Entity
  public class DailyEntry {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private long id;

  @ManyToOne
  private Project project;

  // more fields
}

我希望在删除 project 时删除 DailyEntryProject 没有 DailyEntry 作为属性,因此我无法在删除注释上放置级联。是否有类似级联的东西在另一个方向上起作用?我需要一个执行以下操作的注释:如果我的一个字段(项目)被删除,也删除我。是否存在这样的注释,或者我是否必须在删除方法中手动实现逻辑?

最佳答案

您必须在 Project 实体中定义与 DailyEntry 列表的关系,并将其标记为 orphanRemoval = true。

这样: @OneToMany(orphanRemoval=true) 私有(private)列表 dailyEntries;

关于java - JPA,删除子实体时删除实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59103639/

相关文章:

java - 什么是NullPointerException,我该如何解决?

java - 线程负载过重导致内存问题

java - 如何使用变量和标记实现马尔可夫算法?

java - 如何使用 JPA native 查询选择具有相同名称的多个列?

hibernate - 一对一与多对一(单向)

java - 如何在 Exo-player v2.x 中添加 Adaptive Track Selector?

java - GraphStream 中的 setAttribute

MySQL 外键约束不适用于我的数据库设计

java - 参数值元素[...]与预期类型[org.hibernate.type.EnumType]不匹配

java - JPA、Maven 和 MySQL。配置错误。找不到类 [com.mysql.jdbc.Driver]