我正在使用休眠4.3.5最终版本,并遇到以下警告

org.hibernate.id.UUIDHexGenerator警告-HHH000409:使用org.hibernate.id.UUIDHexGenerator不会生成符合IETF RFC 4122的UUID值;考虑改用org.hibernate.id.UUIDGenerator

所以我从更改了我的映射文件唯一ID生成器

生成器类=“uuid.hex”



生成器类=“uuid2”

明智地编码,我知道这只是一个警告,但是使用uuid2而不是uuid.hex还有其他优势吗?使用uuid2或最佳编码实践是更有效的方法还是标准的方法?我正在尝试在我的应用程序中寻求最佳编码实践。任何上师都可以帮助我吗?

我注意到的另一件事是uuid2键与uuid.hex相比具有“-”。有什么缺点吗?

最佳答案

缺少的“-”是确切的区别。

正如UUIDHexGenerator的文档所述:

返回长度为32的字符串的UUIDGenerator,该字符串仅包含十六进制数字

并且:

用户还可以将其配置为使用分隔符(配置参数“separator”),该分隔符将十六进制数字分隔为8 {sep} 8 {sep} 4 {sep} 8 {sep} 4。请特别注意,这与8-4-4-4-12的IETF RFC 4122表示形式不同。

但是,UUID必须在某些位置具有这些“-”才能有效。

关于java - hibernate UUID.hex与UUID2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25218261/

10-10 03:51