Hibernate:删除子节点未引用的父节点

And*_*ndy 1 nhibernate orm hibernate fluent-nhibernate

当没有引用父项的子项时,我需要删除父项.这可能在Hibernate中吗?(实际上我正在使用流利的nhibernate,但我认为答案是一样的)

例如,我有很多来自不同公司的客户.当我删除公司的最后一个客户时,我想自动删除公司的详细信息.

与正常的亲子关系不同,我不会有意识地选择删除公司.就用户而言,他只是删除了一个客户; 删除未引用的公司只是其中的副产品.

JB *_*zet 5

Hibernate不会为你神奇地做到这一点.你必须自己实现它:

Company company = customer.getCompany();
company.removeCustomer(customer);
session.delete(customer);
if (company.getCustomers().isEmpty()) {
    session.delete(company);
}
Run Code Online (Sandbox Code Playgroud)