我们使用UUID作为主键
批注如下
@Id
@Column(columnDefinition = "BINARY(16)")
protected UUID id;
我们自己生成UUID,并且效果很好
但是,例如当我们手动插入时出现问题
INSERT PINSUS..job ([id],[version],[date_created],[description],[job_url],[last_updated],[name]) VALUES (CAST('30783030-3030-3030-3030-303030303030' AS VARBINARY(16)),CAST(0 AS Numeric(19,0)),CAST(N'2018-01-23 12:29:02.653' AS DateTime),N'Job for nomis',N'http://localhost:8086/batch/operations/jobs/nomisLoadJob',N'nomisLoadJob')
根据microsoft Management Studio将ID存储为0x33303738333033033302D333033302D3330
但是使用jetbrains datagrip进行查看时,id显示为30783030-3030-30
由于它似乎是我们尝试插入的原始UUID的部分字符串,但在转换为BINARY 16时已被截断
如何使用SQL for MSSQL Server手动插入UUID?
目前,如果我们尝试使用具有原始UUID的JPQL查询,则不会返回任何结果。