uuid 生成主键
2013-01-28 09:41
197 查看
UUID(全球唯一编号)
UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID。从理论上讲,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复。
UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID.
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成UUID的API。UUID按照开放软件基金会 (OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与 时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网
卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的 GUID(Globals Unique Identifiers)。
Java代码
import java.util.UUID;
/**
* @Title: generaterPrimaryKey
* @Description: 以UUID的方式生成主键
* @return String : 主键值
*/
public static synchronized String generaterPrimaryKey() throws Exception{
UUID uuid = UUID.randomUUID();
if (null==uuid || "".equals(uuid.toString())){
throw new NullPointerException("uuid is null");
}
String primaryKey = String.valueOf(uuid);
if (null!=primaryKey && primaryKey.contains("-")){
primaryKey = primaryKey.replaceAll("-", "");
}
return primaryKey;
}
转自http://xurichusheng.iteye.com/blog/1096644
相关文章推荐
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- grails中主键的uuid生成方式
- NHibernate主键生成方式 Key Generator_uuid.hex
- JPA 菜鸟教程 19 jpa uuid主键生成策略
- JPA注解主键生成策略-UUID
- UUID生成主键
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- 在Activiti中使用UUID作为主键生成策略
- hibernate注解UUID主键生成策略
- oracle 使用uuid生成主键
- 使用UUID生成主键向Oracle中添加数据
- kettle生成主键UUID和调用转换作业
- 应用程序中主键ID生成与UUID
- 在Activiti中使用UUID作为主键生成策略
- 生成主键码uuid
- 在Activiti中使用UUID作为主键生成策略
- 应用程序中主键ID生成与UUID
- hibernate中uuid和native等主键生成策略
- Hibernate实现,使用UUID.主键的生成策略
- JAVA UUID 生成【主键生成策略】