簡體   English   中英

休眠:如何從“一個”側刪除“許多”側中一對多關系中的實體

[英]Hibernate: how can I delete an entity in the one-to-many relationship in the “many” side from the “one” side


我注意到,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屬性映射,以便自動將其刪除:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM