Ошибка в спящем ограничении - PullRequest
0 голосов
/ 19 февраля 2010

В моем проекте я использую hibernate и oracle как DB.

У меня две таблицы с отношением внешнего ключа.

В спящем состоянии у меня отношения один ко многим.

мой код один-ко-многим

set name = "classname" cascade = "all, all-delete-orphan

один ко многим ..... on-delete = "cascade"

набор

Но всякий раз, когда я обнаруживаю, я получаю ошибку нарушения ограничения ... ora: ошибка 222 не может быть удалена, у нее есть дочерняя таблица У меня есть каскад = "все", но у вас все еще ошибка приходит ...

Та же ошибка при вставке тоже. У меня есть primarykey как атрибут ID, который является последовательностью. Таким образом, в атрибуте Foreignkey ID не может быть вставлена ​​ошибка и не может быть получено сообщение об ошибке. Кто-нибудь сталкивался с этими ошибками?

1 Ответ

2 голосов
/ 19 февраля 2010

Попробуйте:

 cascade="all,delete-orphan"

или

 cascade="all-delete-orphan"

вместо:

 cascade="all,all-delete-orphan"

Кроме того, убедитесь, что вы пометили одну сторону ассоциации:

inverse="true"

если связь двунаправленная.

Если это не решит вашу проблему, попробуйте немного прояснить ваше объяснение и предоставить дополнительную информацию (например, файлы полного отображения и классы Java для двух задействованных объектов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...