使用spring + jpa。 有一个实体,其中包含ID和具有字符串类型的字段名称:
@Entity
class Customer{
@id
String id;
String name;
...
}
如果id-字段类型为int-一切正常。
如果id为Srting类型: SQLSyntaxErrorException:指定的密钥太长;默认值为0。最大密钥长度为1000个字节
使用的MySQL数据库。
create table riskmetric (id integer not null, name varchar(255), primary key (id)) engine=MyISAM
答案 0 :(得分:0)
使用@Column解决
@Id
@Column(length = 10)
private String id;
答案 1 :(得分:0)
这样,您可以创建String类型的可生成ID:
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "PR_KEY")
private String prKey;