示例应用程序,一个具有hibernate hilo序列,另一个没有。这会产生anu问题吗?

时间:2014-10-28 20:27:30

标签: hibernate

我们有一个应用程序,其中webservice使用hibernate并使用hilo(hibernate默认序列)方法来创建主键值。 Ui使用ADF并且它不使用hilo方法。它使用常规方法。

由于此Web服务创建类似于364616535,364616534,364616533,364616532并且UI创建低值36460688,36460687,36460686。

现在我们的应用程序运行正常。我的问题是,当UI达到服务生成的序列值时,它们会得到异常吗?重复值异常。

如何解决此问题?

注意:我不想为我的webservice(hibernate)中的每个insert语句创建下一个序列。

1 个答案:

答案 0 :(得分:0)

如果您输入的UI记录的ID与Web服务创建的记录重叠,那么您可以获得重复的标识符或NonUniqueObjectException,具体取决于您的实现。

您是否预计将通过您的UI创建更多3.28亿条记录?根据您发布的数字,这是您各自序列之间的差距。

  

Web服务创建类似的东西   364616535,364616534,364616533,364616532和UI创建低值   36460688,36460687,36460686

我建议您的webservice和用户界面不要使用单独的持久性实体(具有差异序列)来在同一个表上创建记录。你能让UI调用webservice来保存它的数据吗?那样可以解决你的问题。如果由于某种原因这是不可能的,那么我至少会将两者配置为使用相同的序列,并以高于max(id)的id开始所述序列。