我一直在使用代码,在这里你可以看到我为两个不同的实体使用了两个@oneToMany因为这个原因,它向我显示了的错误org.hibernate.AssertionFailure:无法例如执行取消删除“
我正在寻找解决方案,然后我来看看以下帖子
org.hibernate.AssertionFailure: Unable to perform un-delete for instance
这篇文章对于理解我的问题很有用,但解决方案并不清楚。这里的第一个解决方案是,但他或她只是说 -
“重新排列代码,以便我首先从C到A删除引用,然后继续删除B和A似乎可以解决这个问题。”
但是如何?????
这是我的代码,我认为这已经足够了
@Entity
@Table(name="c")
public class C extends BaseEntity{
/**
*
*/
private static final long serialVersionUID = -5610744565502850451L;
private String cCode;
private String cTitle;
private String cOverview;
@ManyToOne
@JoinColumn(name="user_id")
private UserEntity userEntity;
@OneToMany(mappedBy="cEntity",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
private List<LeEntity> leEntity;
@OneToMany(mappedBy="cEntity",cascade=CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<LaEntity> laEntity;
答案 0 :(得分:0)
要处理正确的双向@OneToMany关系,您需要保持双方同步,以便删除一个父级,子级不保留它,当子级被删除时,父级也将删除它。
中得到了很好的解释