二手弹簧+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;