项目部署,启动过程中有以下警告:
[WARN]: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values; consider using org.hibernate.id.UUIDGenerator instead
查看项目中用户类的主键生成策略:
- @GenericGenerator(name = "system-uuid", strategy = "uuid.hex")
- @Id
- @GeneratedValue(generator = "system-uuid")
- @Column(name = "user_id")
- public String getUserId() {
- return userId ;
- }
经查询,Hibernate 3.6开始,如果有model的主键有uuid生成,就会报这个错误,采用最新的生成策略,改成下面的就会正常
- @Id
- @Column(length = 32, nullable = false)
- @GeneratedValue(generator = "uuid2" ) //指定生成器名称
- @GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator" ) //生成器名称,uuid生成类
XML配置:
原来的:
- <id name="id" type="string">
- <column name="ID" length="32" />
- <generator class="uuid" />
- </id>
现在改变后的:
- <id name="id" type="string">
- <column name="ID" length="36" />
- <generator class="uuid2" />
- </id>