首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate uuid生成和mysql uuid函数uuid()

Hibernate uuid生成和mysql uuid函数uuid()
EN

Stack Overflow用户
提问于 2014-05-08 03:59:38
回答 1查看 2.3K关注 0票数 1

我使用二进制格式在mysql数据库中存储UUID(二进制(16))

我在hibernate中使用以下代码

代码语言:javascript
复制
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column( columnDefinition = "BINARY(16)", length = 16 )
private UUID id;

当我在phpmyadmin中查看时,这些生成的值看起来是不同的,并且看起来是垃圾值。

如果我在mysql查询中使用UUID()函数,这似乎很好。

然后如何告诉hibernate使用UUID()函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 04:11:42

什么是二进制类型?

它们包含字节字符串而不是字符串。这意味着它们没有字符集,排序和比较基于值中字节的数值。这就是它们看起来像垃圾值的原因

UUID()函数创建什么?

UUID被设计成一个在空间和时间上是全局唯一的数字。对UUID()的两个调用将生成两个不同的值,即使这些调用是在两台互不连接的计算机上执行的,UUID是一个由aaaaaaaa bbbb-cccc dddd格式的五个十六进制数组成的utf8字符串表示的128位数字:这就是它们可读的原因。

UUID()函数不创建字节字符串,而是创建字符串。所以,它们是非常不同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23532492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档