Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

Posted Archibald Witwicky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;相关的知识,希望对你有一定的参考价值。

项目部署,启动过程中有以下警告:

[WARN]: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values; consider using org.hibernate.id.UUIDGenerator instead

查看项目中用户类的主键生成策略:

 

[java] view plain copy
 
  1. @GenericGenerator(name = "system-uuid", strategy = "uuid.hex")  
  2. @Id  
  3. @GeneratedValue(generator = "system-uuid")  
  4. @Column(name = "user_id")  
  5.   
  6. public String getUserId() {   
  7.     return userId ;  
  8. }  

经查询,Hibernate 3.6开始,如果有model的主键有uuid生成,就会报这个错误,采用最新的生成策略,改成下面的就会正常

 

 

[java] view plain copy
 
  1. @Id  
  2.     @Column(length = 32, nullable = false)  
  3.     @GeneratedValue(generator = "uuid2" )   //指定生成器名称  
  4.     @GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator" )  //生成器名称,uuid生成类  

 

XML配置:

原来的:

 

[html] view plain copy
 
  1. <id name="id" type="string">  
  2.        <column name="ID" length="32" />  
  3.        <generator class="uuid" />  
  4.    </id>  

 

现在改变后的:

[html] view plain copy
 
  1. <id name="id" type="string">  
  2.             <column name="ID" length="36" />  
  3.             <generator class="uuid2" />  
  4.         </id>  

以上是关于Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;的主要内容,如果未能解决你的问题,请参考以下文章

cstring头文件里的函数怎么用

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespac

vs2013c#测试using System; using System.Collections.Generic; using System.Linq; using System.Text; usin

using声明和using编译指令

优化查询,去掉“Using where;Using temporary;Using filesort”

c# 中using 关键字有哪些用法?