首先要知道它的生成原理:
UUID算法使用IP地址、JVM的启动时间、系統時間和一個計數值來產生主鍵。
同时包括两种方式实现:
uuid.hex由Hibernate基于128 位唯一值产生算法生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
uuid.string与uuid.hex 类似,只是生成的主键未进行编码(长度16)。在某些数据库中可能出现问题(如PostgreSQL)。
所以呢。。。它每次生成的值不相同的。。。而且生成的结果是字符串形式的。。。故不是自动增长的。。。
自动增长用于数值类型的数据库作为主键的形式。
不是
UUID包含:IP地址,JVM的启动时间(精确到1/4秒),系统时间和一个计数器值(在JVM中唯一)。 在Java代码中不可能获得MAC地址或者内存地址,所以这已经是我们在不使用JNI的前提下的能做的最好实现了。