休眠删除父项



当我想在Hibernate中删除父级时,如果有子级,是否有引发异常的机制?

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "categoryId")
private Category category;
@OneToMany(mappedBy = "category", cascade = CascadeType.ALL)
private List<Product> productList = new ArrayList<>();

如果产品属于该类别,则不删除类别。

为什么 Hibernate 会在包含产品的类别删除时抛出异常?您要求 Hibernate 通过定义cascade = CascadeType.ALL来做到这一点。

如果您不希望在包含某些产品时删除类别,则需要自行确保:

if (category.containsProducts()) {
throw new Exception();
}
categoryRepository.delete(category);

相关内容

  • 没有找到相关文章

最新更新