所以我有一个Eclipselink问题。我有一个两列的桌子,有足球队的名字和他们的排名。当我更新这张桌子时,有时这些球队的排名会发生变化 - 一些球队最终会相互交换排名(上周,俄勒冈州立大学排名第一,克莱姆森排名第三,本周克莱姆森排名第一,俄勒冈州立大学排名第一3)。
我在排名列上有一个唯一性约束 - 这意味着没有两个团队在我的桌子上有相同的排名。所以,在前面提到的例子中,如果我要更改这些排名,就会有一个违反该约束的过渡状态(在将Clemson更新为#1之前,我将OSU的排名更新为#3 - 有两个排名的时刻# 3)。
此转换状态违反了唯一性约束,正如预期的那样。
现在,我没有始终应用此约束,而是将其更改为“延迟”约束 - 其中约束仅在显式执行“commit”时适用。因此,即使我有这种唯一性约束,我也可以在没有SQL Developer抱怨的情况下违反转换状态,并且唯一一次运行唯一性检查是在提交之后。
我已经测试了这个,它确实有效。现在,我想通过Eclipselink使用延迟约束来运行相同的逻辑。但似乎Eclipselink将一堆提交插入到服务器生成的SQL中,从而覆盖了我的延迟约束的好处。
有没有解决方案,我可以告诉Eclipselink何时何地提交?谢谢。