8
我使用Spring Data,JPA,Hibernate和MySQL。我在事件和類別之間有一對多的關係。顯然,一個事件只能有一個類別,一個類別可以分配多個事件。當我嘗試刪除類別時出現問題,如果任何事件持有此類別的外鍵,則出現錯誤。我想在刪除類別時將Event表中的外鍵設置爲null。目前,我通過在代碼中明確設置外鍵來更新所有事件,在刪除類別之前將其更新爲空。有沒有使用註釋的方法?JPA一對多刪除並將foregn鍵設置爲空
這是我的分類:
@Entity
@Table(name = "category")
public class Category implements Serializable{
@OneToMany(mappedBy="category", targetEntity=Event.class, fetch=FetchType.LAZY, cascade=
{CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
public Set<Event> getEvents_category() {
return events_category;
}
}
和事件類:
@Entity
@Table(name = "event")
public class Event implements Serializable{
@ManyToOne(cascade={CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.REFRESH})
@JoinColumn(name="events_dancestyle")
public DanceStyle getDanceStyle() {
return danceStyle;
}
}
我見過的主題是討論過很多次,但我還沒有看到任何解決方案。
大衛您好,感謝您的回答。你的回答只是證實我是對的。我使用了與您提供的鏈接完全相同的方法。 – Lukasz