gpt4 book ai didi

java - 重复的键值JPA

转载 作者:行者123 更新时间:2023-11-30 07:32:03 26 4
gpt4 key购买 nike

我在 SPring MVC + JPA + SQL Server 上构建了一个小型应用程序。由于某些原因,我必须在应用程序中进行一些实体更改,并且必须手动将一些数据从旧数据库迁移到新数据库(具有一些不同的架构)。迁移所有数据后,出现以下错误:

13:47:26.191 [http-nio-8080-exec-1] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Violation of PRIMARY KEY constraint 'PK__GLJourna__3213E83F741BD595'. Cannot insert duplicate key in object 'dbo.GLEntry'. The duplicate key value is (34903).

这是我的实体:

@Entity
public class GLJournalEntry {
@Id @GeneratedValue
private Long id;
private BigDecimal amount;
private Date creationDate;
@OneToOne
@JoinColumn(name = "glAccount_id", nullable = false)
private GLAccount glAccount;
private String notes;
@Enumerated(EnumType.STRING)
private ProductType productTyep;
private Date entryDate;
@Column(nullable = false)
private long transactionID;
@Enumerated(EnumType.STRING)
private EntryType type;
}

我的猜测是,我收到此错误消息是因为默认 ID 注释 @Id @GenerateValue。

我该如何解决这个问题?如何以自动从数据库获取最新ID的方式生成ID?

最佳答案

解决我的问题的最简单的方法是更改​​实体的注释

更改自:@Id @GenerateValue到:@Id @GenerateValue(strategy = GenerationType.AUTO)

关于java - 重复的键值JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969046/

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