尽管我使用了cascadeType.all

时间:2018-02-15 10:14:45

标签: hibernate cascading-deletes hibernate-cascade all-delete-orphan

根据我的要求,我有两个与@onetomany映射关联的实体公司和联系人,我想删除该公司及其相关联系人。 我已经使用了Cascade.All但是每当我尝试删除公司时,我仍然会遇到约束违规异常。

型号:

company
-------
private List<Contact> contact;
@OneToMany(fetch = FetchType.LAZY ,mappedBy="company",cascade=CascadeType.ALL,orphanRemoval=true)

public List<Contact> getContact() {
    return contact;
}

public void setContact(List<Contact> contact) {
    this.contact = contact;
}

contact
-------
private Company company;    
@ManyToOne
@JoinColumn(name = "company_id")
public Company getCompany() {
return company;
 }

public void setCompany(Company company) {
this.company = company;

我收到以下异常:

  
    

错误SqlExceptionHelper:146 - 错误:更新或删除表“company”违反外键约束     表“联系人”中的“fk_6jbjhtdw6ak2in3ln4tlxm0dm”详细信息:密钥     (id)=(71)仍然从表“contact”引用。     org.hibernate.exception.ConstraintViolationException:不能     执行声明     org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129)

  

0 个答案:

没有答案