2013-03-14 2 views
0

Рассмотрим классJPA: Как удалить ребенка типа «я»?

@Entity 
public class CustomType { 

    @Column 
    private String name; 

    @Column 
    private CustomType child; 

} 

У меня есть ситуации, когда я могу удалить child сущность, и я хотел бы, чтобы каскадом к нему parent

Когда я пытаюсь сделать это, я вижу

Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: DELETE on table 'CustomType' caused a violation of foreign key constraint 'FK197854DCA5BD6640' for key (bece5b16-fafd-49fd-9ff3-cc19b050e174). The statement has been rolled back. 

Что мне не хватает?

+0

Было бы полезно посмотреть на сгенерированный SQL, чтобы увидеть, как определено ограничение ограничения. – millimoose

ответ

2
DELETE on table 'CustomType' caused a violation of foreign key constraint 

Это означает, что идентификатор этой строки в вашей строке вы пытаетесь удалить имеет ссылку в другой таблице, и по этой причине не может быть удален.

Эта строка может быть удалена, только если ссылки на строку больше не существуют в других таблицах.

Смежные вопросы