提问者:小点点

UUID在此位置无效(Mysql工作台)


我试图创建一个表,在这个表中,我使用id属性作为UUID,但它显示错误,它在这个位置是无效的,它期待其他东西

CREATE TABLE  account (
a_id                    UUID                PRIMARY KEY,
a_hash                  VARCHAR(66)         NOT NULL,
a_email                 VARCHAR(500)        NOT NULL,
a_password              VARCHAR(60)         NOT NULL,
a_verification_key      UUID                NOT NULL,
a_disabled              BOOLEAN             DEFAULT FALSE NOT NULL,
a_verified              BOOLEAN             DEFAULT FALSE NOT NULL,
a_role                  VARCHAR(20)         NOT NULL,
a_created_at            TIMESTAMP           DEFAULT NOW() NOT NULL

);

这里,_id字段是UUID类型,_verification_key也是UUID,在mysql工作台中给出错误


共1个答案

匿名用户

您可以使用UUID,使用@columncolumndefinition指定为varchar(255)char(16)binary(16),这样您就可以使用UUID的功能。您可以根据需要更改策略和生成器

@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "a_id", columnDefinition = "VARCHAR(255)")
private UUID a_id;

讨论函数UUID

相关问题