0

根据我的要求,我有两个与@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 - 错误:更新或删除表“公司”违反了表“联系人”上的外键约束“fk_6jbjhtdw6ak2in3ln4tlxm0dm”详细信息:键 (id)=(71) 仍从表“联系人”中引用。org.hibernate.exception.ConstraintViolationException:无法在 org.hibernate.exception.internal.SQLStateConversionDelegate.convert 执行语句(SQLStateConversionDelegate.java:129)

4

0 回答 0