我的 Oracle 数据库中有两个表
请求和批准。每个审批者都有一个请求。受约束保护的外键。
在我使用 kodo jdo 3.4 的 java 代码中,我对部分或全部批准者调用删除持久性。 最后,如果没有留下批准者,我会调用请求上的持久删除。当我提交时,我的完整性约束会被触发,因为我猜 sql 以错误的顺序运行。
有没有办法强制以某种方式对数据库进行删除调用?
我还在考虑自己回滚事务,以防所有内容都被删除,并以正确的顺序手动强制删除。但这似乎是一种黑客行为。
谢谢
最佳答案
我认为问题是因为您在一个事务中删除了Approver
,并在另一个事务中删除了Request
。尝试提交您删除了 Approver
的事务。
您可能想要做的第二件事是ALTER
Request
表定义并使用ON DELETE CASCADE
定义它,那么您不需要全部由你自己做。不确定是否有某些事情、某些要求阻止您这样做。
关于java - JDO 的删除顺序是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421883/