UUID.randomUUID() 生成的 UUID 是无序的,如果作为数据主键,不利于索引
Hibernate 的 UUIDHexGenerator.generate() 方法可以生成有序的 UUID, 本文参考其实现:
1 | public class SequentialUuidHexGenerator extends AbstractUUIDGenerator{ |
UUIDHexGenerator.generate() 将 IP 放在首位,考虑到在不同的机器生成,本文将时间戳放在了首位
AbstractUUIDGenerator 代码:
1 | public abstract class AbstractUUIDGenerator { |
BytesHelper 代码:
1 | public final class BytesHelper { |
完整代码:GitHub