gpt4 book ai didi

java - Hibernate:如何从 "many"一侧删除 "one"一侧的一对多关系中的实体

转载 作者:行者123 更新时间:2023-11-30 04:25:47 25 4
gpt4 key购买 nike


我注意到 Hibernate 不允许删除一对多关系中的实体。我有两个表(和实体),公司和员工。
我想使用以下代码删除员工:

..
company.getEmployees().remove(myEmployee); //employees is a collection in Company, it is mapped as a one-to-many relationship (@OneToMany)
sessionFactory.getCurrentSession().merge(company);

您知道如何强制删除吗?或者至少得到一个异常?

最佳答案

是的,默认情况下不删除。但是您可以将 @OneToMany 关系映射到 orphanRemoval = true attribute为了被自动删除:

@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true) 
public Set<Employee> getEmployees() { return employees; }

关于java - Hibernate:如何从 "many"一侧删除 "one"一侧的一对多关系中的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15900228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com