【问题标题】:JPA, delete entity when a child entity is deletedJPA,删除子实体时删除实体
【发布时间】:2019-11-29 11:07:59
【问题描述】:

我有以下实体:

  @Data
  @Entity
  public class DailyEntry {

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

  @ManyToOne
  private Project project;

  // more fields
}

我希望在删除 project 时删除 DailyEntryProject 没有 DailyEntry 作为属性,所以我不能在删除注释上级联。有没有像级联这样的东西在另一个方向起作用?我需要一个注释,它执行以下操作:If one of my fields(project) is deleted, delete me too。是否存在这样的注释,还是我必须在删除方法中手动实现逻辑?

【问题讨论】:

  • 我认为你必须手动实现逻辑。

标签: java jpa


【解决方案1】:

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

这样: @OneToMany(orphanRemoval=true) 私人名单dailyEntries;

【讨论】:

  • 孤儿是没有父母的实体,但他想删除没有孩子的父母
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
相关资源
最近更新 更多