Java 休眠UUID.hex与UUID2

Java 休眠UUID.hex与UUID2,java,hibernate,annotations,hibernate-mapping,uuid,Java,Hibernate,Annotations,Hibernate Mapping,Uuid,我正在使用hiberate 4.3.5 Final,遇到以下警告 org.hibernate.id.UUIDHexGenerator警告-HHH000409:使用org.hibernate.id.UUIDHexGenerator,该生成器不生成符合IETF RFC 4122的UUID值;考虑使用Or.HiBurntu.ID.UuId生成器代替 因此,我已将映射文件唯一id生成器从 生成器class=“uuid.hex” 到 生成器class=“uuid2” 就编码而言,我知道这只是一个警告,但使

我正在使用hiberate 4.3.5 Final,遇到以下警告

org.hibernate.id.UUIDHexGenerator警告-HHH000409:使用org.hibernate.id.UUIDHexGenerator,该生成器不生成符合IETF RFC 4122的UUID值;考虑使用Or.HiBurntu.ID.UuId生成器代替

因此,我已将映射文件唯一id生成器从

生成器class=“uuid.hex”

生成器class=“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必须在某些位置具有这些“-”才能有效。

我没有将UUID2配置为具有分隔符。是否可配置为删除“-”。或者IETF RFC 4122标准中有“-”吗?@viknesh“-”是有效UUID所必需的。