У меня есть именованный собственный запрос, который выглядит так:
@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.Может быть, это проблема, почему данные не удаляются?