hibernate 保存实体后从连接表中删除旧记录

qeeaahzv  于 2023-10-23  发布在  其他
关注(0)|答案(1)|浏览(120)

我有一个实体类Film。它有一个作为枚举值的类型列表。我将流派存储在单独的表film_genres中,并在实体中,它看起来像这样:

@ElementCollection(targetClass = Genre.class)
@Enumerated(EnumType.STRING)
@CollectionTable(name = "film_genre")
@Column(name = "genre", nullable = false)
private List<Genre> genres;

如果我尝试更新一些电影并删除流派,保存后我需要从film_genres中删除旧的流派。
我尝试在实体中的此字段中添加级联删除@Cascade(CascadeType.REMOVE),但它不起作用。如何在保存Film时删除旧类型?

xwbd5t1u

xwbd5t1u1#

您可以在实体中使用@PreUpdate或@ PrePersists方法,并执行任何您想要的操作

相关问题