gpt4 book ai didi

java - Hibernate 和 Oracle : Primary Key constraint violation

转载 作者:行者123 更新时间:2023-12-01 22:31:58 25 4
gpt4 key购买 nike

在我的网络应用程序中,我有多个针对相同实体(如文章、客户...等)的预定服务。如果我一次运行一个服务,我没有问题,但是当我运行两个服务时,我会收到错误,因为违反了主键唯一约束。作为主键,我使用生成的 Long 值:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
public Long getId() {
return id;
}

每个服务从 txt 文件读取数据,创建其实体,并且每 20 个实体在 hibernate session 上执行一次刷新,然后执行清除。仅在服务执行结束时才会提交 session 。

如何解决?

最佳答案

Oracle 仅支持生成键的序列。将序列添加到您的数据库:

CREATE SEQUENCE ARTICLE_SEQ;

将注释更改为:

@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="articleSequence")
@SequenceGenerator(name="articleSequence", sequenceName="ARTICLE_SEQ",allocationSize=1) 

最好为每个表/类型使用单独的序列。

关于java - Hibernate 和 Oracle : Primary Key constraint violation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com