У меня следующие отношения:
class Product { // 10000s many of them
@ManyToMany
List<Category> categories; //usually 0-5
}
и
class Category {
...with no back link...
}
теперь, если я удалю категорию, а затем загружу продукт с этой категорией, я получу сообщение об ошибке который содержит:
обновление или удаление в таблице «категорий» нарушает ограничение внешнего ключа (...) по-прежнему ссылается на таблицу product_category
Я видел несколько ответов и руководств, но проблема в том, что многие предлагают добавить продукт как двунаправленную связь в категории, а затем перед удалением категории я прошу go через все продукты и удаляю эту конкретную категорию. Но продукции здесь тысячи, и операция будет слишком долгой.
Это может быть так просто, если использовать обычный SQL, но я хотел бы сохранить автоматическую c загрузку категорий и сопоставление свойств. Есть ли легкий способ автоматически сделать это без сохранения списка продуктов в каждой категории ?