如何使用JPQL查询存储为BINARY(16)的UUID

我们使用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查询,则不会返回任何结果。

delong521 回答:如何使用JPQL查询存储为BINARY(16)的UUID

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3122008.html

大家都在问