我正在使用休眠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/