Tag: 级联

nhibernate不会级联删除子项

方案如下, 我有3个对象(我简化名称)名为Parent,parent的child和child的孩子 父母的孩子是父母的集合,孩子的孩子是孩子的集合。 映射如下(相关部分) 亲 父母的孩子 我想要实现的是,当我删除父母时,会有一个级联删除一直到孩子的孩子。 但目前发生的是这个。 (这纯粹用于映射测试目的)获取父实体(工作正常) IQuery query = session.CreateQuery(“from Parent where ID =” + ID); IParent doc = query.UniqueResult(); 现在删除部分 session.Delete(doc); transaction.Commit(); 在使用级联和反向解决了“无法插入空值”错误之后,我希望现在可以使用此代码删除所有内容,但只删除父项。 我错过了可能错过的映射中的某些内容吗? 任何正确方向的提示都非常受欢迎! 迭戈,谢谢你的回答。 (和解释) 我去除了on-delete=”cascade” ,这是因为我喜欢在代码中尽可能多地控制而不是在数据库中。 下面发布的代码是(工作)结果。 亲 父母的孩子 希望这可以帮助人们解决同样的问题!

NHibernate Definitive Cascade应用指南

是否有任何互联网资源可以明确指导NHibernate的所有级联设置,其中包括类结构,HBM的示例以及与NH的所有关系的每个级联设置的操作含义。 如果有以最正确的方式进行公共关联的示例,例如设置状态表,您将永远不会最终级联删除状态,或删除具有CreatedBy用户属性的对象,那么它将会很有用。永远不会以级联等方式删除用户