Я использую 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: ТЕМЫ в выражении [удалить из опросов, где id =?]
Я понимаю, что это потому, что я не могу удалить запись опроса, если в ней есть ссылки в другой таблице. Как я могу решить эту проблему? Нужно ли вручную устанавливать poll = null в таблице тем или есть лучшее решение?