PostgreSQL и Hibernate: на DELETE CASCADE не работает

У меня есть именованный собственный запрос, который выглядит так:

@NamedNativeQuery(name = "deleteRecipes", query = "DELETE FROM RECIPE WHERE rcp_acc_identifier IN (?1)")

Это важные части таблицы рецептов:

                                              Table "public.recipe"
         Column          |            Type             |                        Modifiers                        
-------------------------+-----------------------------+---------------------------------------------------------
 rcp_pf_id_photodata     | bigint                      | 
 rcp_pf_id_thumbnaildata | bigint                      | 
Indexes:
    "fk_rcp_pf_id_photodata_idx" btree (rcp_pf_id_photodata)
    "fk_rcp_pf_id_thumbnaildata_idx" btree (rcp_pf_id_thumbnaildata)
Foreign-key constraints:
    "fk_rcp_pf_id_photodata" FOREIGN KEY (rcp_pf_id_photodata) REFERENCES persistable_file(pf_id) ON DELETE CASCADE
    "fk_rcp_pf_id_thumbnaildata" FOREIGN KEY (rcp_pf_id_thumbnaildata) REFERENCES persistable_file(pf_id) ON DELETE CASCADE

Когда я выполню запрос выше, рецепты будут удалены, но не данные из persistable_file. Почему это так? Дополнительная информация: Я не установил ON DELETE CASCADE при создании базы данных. Я добавил его позже, сначала отбросив оба ограничения сверху, а затем снова добавил ограничения с помощью дополнительной директивы ON DELETE CASCADE. Это может быть проблема, почему данные не удаляются?

0 ответов

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