如何在字符串类型的jpa实体中制作id?



二手弹簧+jpa。 有一个实体,其中包含字符串类型的 id 和字段名称:

@Entity
class Customer{
@id
String id;
String name;
...
}

如果 id - 字段类型 int - 一切正常。

如果 id 是 Srting 类型: SQLSyntaxErrorException:指定的键太长;最大密钥长度为 1000 字节

使用MySQL数据库。

create table riskmetric (id integer not null, name varchar(255), primary key (id)) engine=MyISAM

使用 @Column 求解

@Id
@Column(length = 10)
private String id;

通过这种方式,您可以创建字符串类型的可生成 id:

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

最新更新