[英]Hibernate: cascade deletion of a child collection
假设我有2个Java对象:Parent和Child。 它们之间的关系是Child - > Parent = many-to-one ,即一些Child对象可以与同一个Parent关联。
Child对象持有对其Parent的引用,而Parent对象没有字段来处理其子对象。
在Hibernate中导致在Child映射中具有多对一元素; 父映射不包含一对多条目,因为不需要Parent对象具有引用其所有Child对象的集合字段。
现在,当删除Parent时,Oracle抛出一个异常,即当有引用它的子实体时,不能删除该实体。
使用此对象模型,是否有一种方法可以在删除后者时,以casacadely方式删除属于Parent对象的所有Child对象?
1>对Child < - > parent进行双向映射。 提到级联删除。
2>您知道谁是此父级的子对象,首先删除此父级的所有子级,然后尝试删除父级。
编辑:
查看此示例链接
班级家长
import java.util.Set;
import javax.persistence.*;
@Entity
@Table(name = "Parent")
public class Parent{
@Id
@GeneratedValue
private Integer id;
private String name;
@OneToMany(mappedBy="Child", cascade=CascadeType.ALL)
private Set<Child> child;
}
考虑称为孩子的第二类
import javax.persistence。*;
@Entity
@Table(name = "Child")
public class Child{
@Id
@GeneratedValue
private Integer id;
private String lastname;
@ManyToOne
@JoinColumn(name = "id")
private Parent parent;
}
只需在POJO中进行更改,就不会抛出异常
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.