java - 删除子实体时如何删除父实体?
问题描述
我有两个班级,父母和孩子。我想在删除孩子时删除父实体。请注意,孩子不应该知道父母,所以我不能添加反向引用。
@Getter
@Setter
@Entity
@Table(name = "parent")
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(optional = false)
@JoinColumn(name = "child_id")
private Child child;
}
@Getter
@Setter
@Entity
@Table(name = "child")
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
编辑后这样它仍然无法正常工作
@Getter
@Setter
@Entity
@Table(name = "parent")
public class Parent {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne(optional = false, cascade = CascadeType.ALL)
@JoinColumn(name = "child_id")
private Child child;
}
@Getter
@Setter
@Entity
@Table(name = "child")
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
解决方案
如果您在删除子记录时谈论删除父记录,那么您必须使用级联注释。
推荐阅读
- ansible - 在数字海洋中启动时配置液滴时出现 python 依赖问题
- phpstorm - jsdoc typedef 范围有限
- c++ - 在 C++ 中循环遍历 .txt 文件的行
- javascript - MongoDB服务器。过期时如何自动更改已过期状态
- twilio - twilio REST API:严格的后端?
- python - pylint 为可调用的对象属性给出不可调用错误
- web-crawler - 如何限制重复的类似网址抓取
- amazon-web-services - AWS - 您如何在 lambda 进程之间共享访问令牌?
- r - node.js 已安装但仍然在 RInno 中收到投诉
- r - R:拆表以减少维度