@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seqGen")
@SequenceGenerator(name = "seqGen", sequenceName = "seq", initialValue = 1)
private Long id;
基本上,我有三个实体(同时获取)在我的数据库中共享相同的序列名称。我知道出于性能目的,最好对每个带有 SequenceGenerator 的实体使用相同的选项卡。
有时,在获取大量数据时,我会遇到重复条目错误,并且基本上更改序列的 next_val 可以暂时解决问题。我想知道 SequenceGenerator 如何更好地工作以及是否有解决此问题的方法?
编辑:你能更好地解释一下序列的目的是什么以及他的算法是如何工作的吗?
编辑 2:在帖子中,我看到了这条评论:
“假设您创建的序列对象在 Microsoft SQL Server 2012 或 SQL Server 2014 中启用了 CACHE 选项。当实例处于内存压力下,并且多个并发连接从同一序列对象请求序列值时,可能会出现重复的序列值生成。此外,将重复序列值插入表时会发生唯一或主键 (PK) 冲突错误。
我当前的问题有链接吗?