我有一个父母,一个孩子和一个孙子对象。 问题是,当我删除应用程序中的孙子并保存时 父对象,孙子更改不会更新。
在父类
中 @OneToMany(fetch = FetchType.EAGER, mappedBy = "parent")
@ForeignKey(name = "FK_1")
@Cascade({CascadeType.ALL})
private Set<Child> children;
在儿童班
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "parent")
@XmlTransient
private parent parent;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "child")
@ForeignKey(name = "FK_2")
@Cascade({CascadeType.ALL})
private Set<GrandChild> grandchildren;
在GrandChild班级
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "child", nullable = false)
@XmlTransient
private Child child;
我使用hibernate 4.2.2.Final。
任何想法?
答案 0 :(得分:1)
尝试将orphanRemoval添加到您的收藏中。
@OneToMany(fetch = FetchType.EAGER, mappedBy = "parent", orphanRemoval=true)
@OneToMany(fetch = FetchType.EAGER, mappedBy = "child", orphanRemoval=true)