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

时间:2019-11-29 11:07:59

标签: java jpa

我有以下实体:

  @Data
  @Entity
  public class DailyEntry {

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

  @ManyToOne
  private Project project;

  // more fields
}

无论何时删除DailyEntry,我都希望删除projectProject确实具有DailyEntry作为属性,因此我无法在其中添加删除注释的级联。是否有类似层叠的东西在另一个方向上起作用?我需要执行以下操作的注释:If one of my fields(project) is deleted, delete me too。是否存在这样的注释,或者我必须在delete方法中手动实现逻辑?

1 个答案:

答案 0 :(得分:1)

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

这样:  @OneToMany(orphanRemoval = true)  私人列出dailyEntries;