У меня есть класс «Персонаж» и класс «Фракция». У персонажа есть фракция. Фракция может быть использована многими персонажами. Фракции сохраняются, когда персонаж сохраняется. Когда больше нет символов, ссылающихся на фракцию, я хочу удалить ее из базы данных.
Когда у меня были отношения 1: 1, это было легко, потому что я мог просто использовать
@Persistent(dependent = "true")
чтобы удалить его, когда он больше не нужен. Но это больше невозможно, потому что теперь может быть другой персонаж, все еще нуждающийся во фракции. Поэтому, если я попытаюсь удалить персонаж1 и он использует ту же фракцию, что и персонаж2, я получу следующее исключение:
java.sql.SQLIntegrityConstraintViolationException: DELETE on table 'FACTION' caused a violation of foreign key constraint 'CHARACTER_FK1' for key (1). The statement has been rolled back.
Я ТОЛЬКО хочу, чтобы фракция была удалена, когда она больше не нужна. Как я могу это сделать?