Получение исключения нарушения ограничения при удалении родителя, хотя я использовал cascadeType.all

В соответствии с моим требованием, у меня есть две компании и контакт, которые связаны с отображением @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" для таблицы "contact" Detail: Key (id)=(71) по-прежнему ссылается из таблицы "contact". org.hibernate.exception.ConstraintViolationException: не удалось выполнить оператор в org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129)

0 ответов

Другие вопросы по тегам