У меня есть сценарий с 3-мя объектами A, B и C.
A имеет много CB, имеет много C
C имеет AC, имеет B
У меня естьметод на A, AddC, который обрабатывает жизненный цикл C.
, поэтому, например, у меня есть A, у которого много C, и я хочу удалить C (1) и добавить C (2).Если C (1), который я хочу удалить, имеет ссылку на B, я получаю доступ к B через мой экземпляр C (1) и удаляю B из этой коллекции.Затем я удаляю C (1) из коллекции на A. Затем я добавляю новый C (2) к коллекциям на A и B.
Я могу по желанию установить свойства на C (1), которые указывают наA и B будут нулевыми.
Я пытаюсь выяснить, как я могу настроить свое отображение так, чтобы C (1) был удален после того, как я вызову этот метод, и мой сеанс сбрасывается.
Я попытался отобразить cascadeAllDeleteOrphan на A, B и A, B.Я попытался поиграть с Inverse / NotInverse, но поскольку я использую только один метод для обновления отношений между этими тремя объектами, мне не особо важно, какой конец управляет отношениями.Я также попытался оставить свойства C (1) установленными для экземпляров A и B, и оставить отображение для A и B имеет HasMany (c) .Not.Inverse.
Конечный результат заключается в том, что мойC не удаляются правильно.
Есть ли что-то, что я здесь упускаю?
Дайте мне знать, если вы хотите сценарий с реальными именами.Спасибо.