| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Удаление orphan one-to-many энтити |
| Автор: CPlusPlusFAN 25.2.2015, 23:36 | ||
| Здравствуйте Вот есть у меня 2 сущности:
Можно ли сущности аннотировать так, чтобы при удалении последнего UserEntity, ссылающегося на определенный GroupEntity, тот тоже удалялся? Ну т.е. запретить GroupEntity, на которые не ссылается ни один UserEntity. Или только руками менеджить такие ситуации? Благодарю |
| Автор: Pawl 27.2.2015, 12:50 | ||
Про такие аннотации не знаю, но руками это сделать тоже не сложно. Просто каждый раз при удалении из GroupEntity очередного UserEntity, проверять, не стал ли список пустым, и, если да, удалять из таблицы пустой GroupEntity. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Udaleniye-orphan-one-to-many-entiti-id54ee32e7ae2015f7138b4567#findElement_E7045_54f03deaae2015154c014a2b_0 |
| Автор: CPlusPlusFAN 27.2.2015, 14:07 |
| Pawl, ну да, этот способ самый очевидный. В инете не нашел автоматического способа. Видимо, его нет. |
| Автор: Pawl 27.2.2015, 21:39 | ||
На самом деле такая аннотация будет неоднозначной: если автоматически удалять объект, когда на него нет ссылок, то при его создании (занесении новой записи в БД, когда у нее еще нет связанных записей), он должен быть сразу удалён. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Udaleniye-orphan-one-to-many-entiti-id54ee32e7ae2015f7138b4567#findElement_E7045_54f0b9c4ae2015d250014ac0_0 |
| Автор: CPlusPlusFAN 28.2.2015, 01:17 |
| Pawl, не обязательно. Можно такое сделать по тригеру удаления. В любом случае, можно создать сразу 2 связанные сущности и обе закомитить. Никаких проблем с этим нет. |