Удаление из таблицы с аннотацией @OneToOne

Я использую 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 в таблице тем или есть лучшее решение?

5
задан Sam 11 August 2014 в 14:06
поделиться