gpt4 book ai didi

java - Hibernate:@GenerateValue(策略= GenerationType

转载 作者:行者123 更新时间:2023-12-01 15:42:51 25 4
gpt4 key购买 nike

我的应用程序使用 DB2。创建数据库后我运行一些插入脚本。该插入脚本会在表中生成记录,并在插入脚本中给出 id。

假设 abc 表插入脚本创建一条 id = 3 的记录。由于 id 设置为在 hibernate 中自动生成,因此在从应用程序保存第三条记录时出现异常。

        Caused by: com.ibm.websphere.ce.cm.DuplicateKeyException: One or
more values in the INSERT statement, UPDATE statement, or foreign
key update caused by a DELETE statement are not valid
because the primary key, unique constraint or unique
index identified by "1" constrains table

我正在使用@GenerateValue(strategy = GenerationType.AUTO)

我应该使用什么strategy = GenerationType来克服这个问题。

最佳答案

使用 GenerationType.IDENTITY 时,某些数据库和 Hibernate 会出现问题。尝试使用序列并为其显式配置所有内容:

@Id
@SequenceGenerator(name = "DEPARTMENT_ID_GENERATOR", sequenceName="department_sequence", allocationSize=100)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "DEPARTMENT_ID_GENERATOR")
@Column(unique = true, nullable = false)
protected Long id;

关于java - Hibernate:@GenerateValue(策略= GenerationType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738710/

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