首页 > 解决方案 > Hibernate @SequenceGenerator 在 MS SQL 中返回不正确的值

问题描述

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "generator")
@SequenceGenerator(name = "generator", schema = "MD", sequenceName = "sq_base_class")
public Long getId() {
    return id;
}

你好!我有使用 MS SQL 序列生成 ID 的实体,但值不正确。

com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'PK_BCL'. Cannot insert duplicate key in object 'MD.BASE_CLASS'. The duplicate key value is (551009).

示例:SequenceGenerator 设置 ID = 551009,但select next value for md.sq_base_class返回 551115。如何解决?休眠版本:5.3.10.Final

标签: javahibernatejpa

解决方案


也许您在 @SequenceGenerator 中丢失了分配大小 = 1


推荐阅读