在持久化之前检查数据库的@Id列值

时间:2017-03-24 05:39:50

标签: sql-server hibernate distributed-system id-generation

以下是我的主要列定义

@Id
@GenericGenerator(name = "kaugen", strategy = "increment")
@GeneratedValue(generator = "kaugen")
private Long entityId;

@Version
@Column(unique = false, updatable = true, nullable = false)
@NotNull
private Long entityVersion;

我连接到单个数据库的两个应用程序服务器。当第一个应用程序服务器插入大约10个记录时,主键值(entityId)将为10,当第二个应用程序服务器插入大约15个记录时,主键值(entityId)将为25.到目前为止很好。

现在,当第一个应用程序服务器尝试插入一些记录时,entityId从11而不是26开始,导致 违反PRIMARY KEY约束 。预计entityId应该从26开始。

  

两个应用程序服务器都在单独的JVM中运行。

请在处理此方案时分享您的意见。

提前致谢..

0 个答案:

没有答案
相关问题