问题标签 [cascade]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - 如何在两个外键上设置 Hibernate @ManyToMany 与级联的关联?
我正在尝试使用休眠映射@ManyToMany 关联。但到目前为止,我只设法在其中一个外键上进行级联。
我的源代码是这样的:
hibernatetool 输出:
不知何故,Passenger 类上的 @OnDelete(action=OnDeleteAction.CASCADE) 注释被休眠丢弃了。
hibernate - 为什么 delete-orphan 需要“全部级联”才能在 JPA/Hibernate 中运行?
我尝试用级联“remove”(jpa)和“delete-orphan”映射一对多关系,因为我不希望在保存或保存父母时保存或保存孩子(安全原因由于客户端到服务器(GWT,Gilead))
但是这个配置不起作用。当我尝试使用级联“全部”时,它会运行。为什么 delete-orphan 选项需要级联“all”才能运行?
这是代码(为简单起见,没有 id 或其他字段,类 Thread 定义了一个没有级联的简单多对一属性):removeThread
在事务函数中使用该函数时,它不会运行,但如果我编辑cascade.Remove
成cascade.All
,它会运行.
ruby-on-rails - 在rails中删除父对象时如何删除子对象?
型号一:
B型:
型号 c:
当我删除一个a
时,我还希望b's
删除子项,以便将它们从c's
可能引用它们的任何内容中删除。但是,上述方法不起作用。我会很感激任何帮助。
sql - 依赖外键级联不好吗?
我参与的一个项目的首席开发人员说,依靠级联删除相关行是不好的做法。
我不明白这有多糟糕,但我想知道你对如果/为什么会这样的想法。
tsql - T-SQL:DROP 表级联约束等效?
在 oracle 中,我可以发出 DROP TABLE ... 级联约束,它不会抱怨 FK 等。
T-SQL 中是否有等价物?
nhibernate - 如何查找是否可以删除引用的对象?
我有一个名为“客户”的对象,它将在其他表中用作外键。
问题是我想知道是否可以删除“客户”(即,它没有在任何其他表中被引用)。
Nhibernate可以做到这一点吗?
hibernate - 休眠、检测和删除级联顺序
我有一个带有 JPA 连接实体的复杂对象图。当我删除父级时,删除会正确地传递给子级。
然后我检测父类(为了不急切地加载一对一的关系)并且在删除时我得到引用完整性违规异常。查看刷新时的查询休眠问题,我可以看到休眠确实尝试以错误的顺序删除记录,因此数据库抱怨引用完整性并引发异常。
为什么这仅在实体被检测时才会出现?有没有办法改变删除级联顺序?
nhibernate - 在 NHibernate 中删除子记录时出现异常
我有一个简单的父/子表。合同是父表。每个合同可以有多个单位。
这是我的 C# 类定义(简化):
我正在使用 FluentNHibernate 和 AutoMapping。这是我的自动映射类:
以下是 Fluent 生成的 HBM.XML 文件:
(对于单位表):
(对于合同表):
出于单元测试的目的,我在每个存储库中都有一个“Clear()”方法,因此我可以从已知的空数据库开始。它只是做了一个
其次是 Debug.Assert(Repository.GetCount() == 0);
我的问题是,当我执行 UnitsRepository.Clear() 时,我得到一个 NHibernate.ObjectDeleteException: deleted object will be re-saved by cascade (remove deleted object from associations)
我已经用谷歌搜索了这个错误,并找到了一些关于它的文章,但似乎没有任何建议有效。我在父映射上添加了“.Inverse()”。我尝试将级联从“All”更改为“SaveUpdate”(它从未设置为“AllDeleteOrphans”,一些帖子将其称为问题。)我正在清除所有存储库,并尝试将整个内容包装在一个交易。我尝试在 Session.Delete 之后添加刷新。我尝试先清除父存储库,然后再清除子存储库。没有什么能摆脱错误。
任何帮助,将不胜感激。
c# - nhibernate 不会级联删除子级
场景如下,
我有 3 个名为Parent 的对象(我简化了名称),父母的孩子和孩子的孩子
父母的孩子是父母的集合,孩子的孩子是孩子的集合。
映射如下(相关部分)
父母
父母的孩子
我想要实现的是,当我删除父级时,会一直级联删除到孩子的孩子。但目前发生的事情是这样的。
(这纯粹是为了映射测试目的)获取父实体(工作正常)
现在删除部分
在通过级联和反转解决了“无法插入空值”错误后,我希望现在可以使用此代码删除所有内容,但只有父级被删除。
我是否错过了我的映射中可能会错过的某些内容?任何正确方向的提示都非常受欢迎!
迭戈,谢谢你的中肯回答。(和解释)
我删除了on-delete="cascade"
,这是因为我喜欢在代码中而不是在数据库中尽可能多地进行控制。
下面发布的代码是(工作)结果。
父母
父母的孩子
希望这可以帮助有同样问题的人!
mysql - MySQL InnoDB ON UPDATE CASCADE 约束会在 MySQL REPLACE 命令期间正确更新吗?
如果我的表 B 具有对表 A 的外键引用(设置为 ON UPDATE CASCADE)并且我运行
命令,引用会正确更新吗?
请注意,我不是在谈论 ON DELETE CASCADE;我知道如果我有 REPLACE 命令将删除表 B 中的记录。