gpt4 book ai didi

java - 如何在 JPA/Hibernate 中使用 @Id 和字符串类型?

转载 作者:IT老高 更新时间:2023-10-28 21:18:33 25 4
gpt4 key购买 nike

我有一个包含字符串类型主键的实体。这个实体模型如下:

@Entity
public class MyEntity {

@Id
@Column(name="PR_KEY", unique=true)
private String prKey;

....
....

}

但是我遇到了 TypeMismatch 的问题。

org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class java.lang.String, got class java.lang.Long

最佳答案

如果不指定 id 生成策略,Hibernate 将使用 GenerationType.AUTO。这将导致任何

AUTO - either identity column, sequence or table depending on the underlying DB.

如果你看 here ,您会注意到所有这些都生成 longshortint 类型的 id,而不是 String 类型.

假设你想要一个 String UUID 作为 id,你可以使用

@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "PR_KEY")
private String prKey;

关于java - 如何在 JPA/Hibernate 中使用 @Id 和字符串类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622716/

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