根据我的要求,我有两个与@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)