Luk*_*asz 11 mysql hibernate jpa one-to-many
我使用Spring Data,JPA,Hibernate和MySQL.事件和类别之间有一对多的关系.显然,一个事件只能有一个类别,一个类别可以分配许多事件.当我尝试删除Category时出现问题,如果任何事件持有此类别的外键,则会出现错误.我想在删除类别时将Event表中的外键设置为null.目前,我通过在删除Category之前将其更新为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<Event> getEvents_category() {
return events_category;
}
}
Run Code Online (Sandbox Code Playgroud)
和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;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看过很多次讨论这个话题,但我还没有看到任何解决方案.
不幸的是,目前无法使用JPA/Hibernate注释来实现此目的.请参阅以下相关问题:
让JPA/Hibernate复制"ON DELETE SET NULL"功能
在@OneToMany中,在hibernate中删除set null
归档时间: |
|
查看次数: |
15273 次 |
最近记录: |