1
中間エンティティを削除する権利たときに動作しません。期待の関係でおじいちゃん、父と子を おじいちゃんは、多くの父と父を持っている私はおじいちゃんを削除すると、多くの子供カスケード削除することは、私が3つのエンティティ持っ
@Entity
@Table(name = "Grandpa")
public class Grandpa {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
@Column(name = "id")
private int id;
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at")
private Date createdAt;
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at")
private Date updatedAt;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "grandpa")
private Set<Father> children = new HashSet<Father>(0);
....
}
@Entity
@Table(name = "Father")
public class Father {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
@Column(name = "id")
private int id;
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at")
private Date createdAt;
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at")
private Date updatedAt;
@OneToOne(cascade = {CascadeType.ALL})
private Grandpa grandpa;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "father")
private Set<Child> children = new HashSet<Child>(0);
....
}
@Entity
@Table(name = "Child")
public class Child {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
@Column(name = "id")
private int id;
@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at")
private Date createdAt;
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at")
private Date updatedAt;
@OneToOne(cascade = {CascadeType.ALL})
private Father father;
}
を持っています父親も子供も削除されますが、父親を削除すると、子供たちはデータベースに残ります
私は何が欠けていますか?おじいちゃんの削除を実装する際に