2017-06-07 5 views
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; 
} 

を持っています父親も子供も削除されますが、父親を削除すると、子供たちはデータベースに残ります

私は何が欠けていますか?おじいちゃんの削除を実装する際に

答えて

0

...私は純粋なSQLを使用した父の削除を実装するとき、私はsession.delete(オブジェクト) を使用...

を問題を発見しました

関連する問題