java - JDO 的删除顺序是什么

标签 java jdo

我的 Oracle 数据库中有两个表

请求和批准。每个审批者都有一个请求。受约束保护的外键。

在我使用 kodo jdo 3.4 的 java 代码中,我对部分或全部批准者调用删除持久性。 最后,如果没有留下批准者,我会调用请求上的持久删除。当我提交时,我的完整性约束会被触发,因为我猜 sql 以错误的顺序运行。

有没有办法强制以某种方式对数据库进行删除调用?

我还在考虑自己回滚事务,以防所有内容都被删除,并以正确的顺序手动强制删除。但这似乎是一种黑客行为。

谢谢

最佳答案

我认为问题是因为您在一个事务中删除了Approver,并在另一个事务中删除了Request。尝试提交您删除了 Approver 的事务。

您可能想要做的第二件事是ALTER Request表定义并使用ON DELETE CASCADE定义它,那么您不需要全部由你自己做。不确定是否有某些事情、某些要求阻止您这样做。

关于java - JDO 的删除顺序是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421883/

相关文章:

tomcat - Datanucleus Tomcat 和 Eclipse

java - AppEngine JDO 查询过滤器 "property has ancestor"

java - javax.persistence.metamodel.Map 和 java.util.Map 有什么区别?

java - 神经网络应该学习多少个 epoch? (包括测试结果)

java - 寻找范围的最大值

java - 类路径不工作 - java lang ClassNotFoundException

java - Spring - 在类之间隐式转换(寻求强制执行模式)

java - Datanucleus JDO Mongodb - 映射值中抽象的子项未保留

java - 在 Google App Engine 上使用 JDO 更新 "nested"对象

java - 在armhf上启用JProfiler时出现UnsatisfiedLinkError