我使用Spring Data,JPA,Hibernate和MySQL。我在事件和类别之间有一对多的关系。显然,一个事件只能有一个类别,一个类别可以分配多个事件。当我尝试删除类别时,出现问题,如果任何事件持有该类别的外键,则出现错误。我想在删除类别时将Event表中的外键设置为null。目前,我通过在代码中明确设置外键来更新所有事件,在删除类别之前将其更新为空。有没有使用注释的方法?
这是我的分类:
@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 getEvents_category() {
return events_category;
}
}和Event类:
@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;
}
}我已经看到这个话题被讨论了很多次,但我还没有看到任何解决方案。