Я использую JPA2 и реализацию Hibernate.
У меня есть такое простое отображение:
@Entity
class Topic {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
@OneToOne(cascade = ALL)
@JoinColumn(name = "id_poll")
private Poll poll;
}
@Entity
class Poll {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
}
Теперь, когда я удаляю объект опроса, который также находится в теме, я получаю сообщение об ошибке.
java.sql.SQLException: Нарушение ограничения целостности FKCC42D924982D3F4B table: TOPICS in statement [удалить из опросов, где id =?]
Я понимаю, что это потому, что я не могу удалить запись опроса, если она имеет ссылки в другом Таблица. Как я могу решить эту проблему? Нужно ли мне вручную устанавливать poll = null в таблице тем или есть лучшее решение?