首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringBoot2数据JPA抛出ConstraintViolationException

SpringBoot2数据JPA抛出ConstraintViolationException
EN

Stack Overflow用户
提问于 2021-08-17 08:17:52
回答 2查看 349关注 0票数 0

我使用Spring 2来创建微服务。我有一个方案来拯救一个实体。在实体Id列中,我添加了如下所示

代码语言:javascript
复制
@Id
@GeneratedValue(Strategy=GenerationType.Auto, generator="increment")
@GenericGenerator(name="increment", strategy="increment")
@Column(name="Id", insertable=false)
private Integer id;

上面的工作,有时会抛出主键约束违反异常。但这是不一致的。我将它作为两个具有不同端口的实例运行。

我得到的错误违反了唯一的约束:

ConstraintViolationException:无法执行语句;约束primary_key_cons;嵌套异常为ConstraintViolationException。

我唯一的选择就是把策略改为顺序。

EN

回答 2

Stack Overflow用户

发布于 2021-08-17 08:24:32

你手动插入数据了吗?也许hibernate正在生成id值,这些id值已经存在于db中。如果可以,只需清除该表并再次测试它。

票数 0
EN

Stack Overflow用户

发布于 2021-08-28 12:25:04

不要使用带有策略增量的泛型生成器。不建议在集群中使用。

增量生成长、短或int类型的标识符,只有在没有其他进程将数据插入到同一表中时,这些标识符才是唯一的。不要在群集中使用。

想了解更多信息- 这里

使用GenerationType.SEQUENCE和板条箱一个SequenceGenerator

例如,

代码语言:javascript
复制
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "YourSequenceGenerator")
@SequenceGenerator(sequenceName = "YourSequence", name = "YourSequenceGenerator", allocationSize = 1)
private Integer id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68813912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档