GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:76895313-839E-4E89-BAFC-B253BFF3173F
世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。
1.SQL Server数据库
以前开发SQL Server数据库将表定义中将列类型指定为uniqueidentifier,则列的值就为 GUID 类型。
2.使用T-SQL生产一个GUID
insert into table1(id,name,...) values(NewID(),'张三',...)
3.在C#中创建一个GUID
Guid guid = Guid.NewGuid();
Console.Writeln(guid.ToString());
4.在Java中创建UUID
在网上查资料才知道在Java中,变成了UUID。创建方式也出奇简单
System.out.println( java.util.UUID.randomUUID());
分享到:
相关推荐
在这个例子中,`@GeneratedValue(strategy = GenerationType.UUID)`告诉Hibernate使用UUID生成策略来自动填充`id`字段。这个字段的类型是`String`,因为它会存储32位的GUID字符串。 在Eclipse环境下,你需要设置好...
在JPA中,主键策略是指生成主键的机制,用于标识数据库表中的每一行记录。在本文中,我们将详细讨论JPA主键策略的类型、特点和应用场景。 GenerationType.IDENTITY GenerationType.IDENTITY 是一种常用的主键...
- **描述**:使用“高/低”算法,通过在数据库中维护一个额外的表来生成主键,该表包含两个值:当前高值和剩余可用低值的数量。 - **应用场景**:适用于高性能的并发环境,因为它可以减少数据库的访问频率。 #### 7...
5. **性能优化**:由于可能需要快速生成大量GUID,源码中可能会有一些性能优化策略,如多线程生成,或者预先生成一定数量的GUID存储起来以提高效率。 6. **错误处理**:源码可能包含错误处理机制,比如防止生成重复...
在IT行业中,`Guid`(全局唯一标识符,也称为UUID)是一种广泛使用的标识符,特别是在分布式系统和数据库中,因为它能确保在全球范围内生成的每个标识符都是唯一的。`Guid`由128位数字组成,通常以32位十六进制数的...
- **应用场景**:适用于需要高效生成主键且支持JDBC 3特性的数据库。 ### 总结 不同的主键生成策略各有特点和适用场景,开发者应根据具体的应用需求和数据库特性来选择合适的策略。例如,如果应用程序需要高性能...
UUID分为五个版本,每个版本有不同的生成策略: 1. 版本1:基于时间戳和MAC地址,确保时间顺序,但可能会暴露网络接口信息。 2. 版本2:与版本1类似,但在Linux系统中,可以包含POSIX用户名或GID。 3. 版本3:基于...
设计合理的主键策略对于数据库的高效运行至关重要。例如,如果数据量大且需要频繁插入,可能需要选择自增或雪花算法来优化性能;而在分布式环境中,可能需要采用UUID或雪花算法来确保全局唯一性。同时,主键设计还应...
4. **PL/SQL包或过程**:"ZLXA_GUID.fnc"可能是一个PL/SQL函数,它封装了上述策略之一,使得在SQL查询中调用时能方便地生成GUID。 在使用这个函数时,开发人员需要注意几个关键点: - **性能**:生成GUID的过程...
在实际应用中,Java的GUID生成方式非常适用于创建数据库主键、分布式系统中的唯一ID、或者需要全局唯一性的各种场景。由于其生成策略,我们几乎可以肯定在合理的时间范围内,UUID的重复概率极低。 总的来说,Java...
在一些情况下,我们可能需要自动生成主键,以确保其唯一性和顺序性。"SQL主键产生器"就是这样一个工具,它能帮助我们在创建或更新表时自动为主键字段生成唯一值。 SQL主键产生器通常有以下几种实现方式: 1. **...
UUID策略采用128位的通用唯一标识符来生成主键。 **特点:** - 可以保证在时间和空间上的唯一性。 - 生成的UUID占用空间较大,约为16字节。 - 适用于分布式环境,尤其是跨数据库的需求。 **应用场景:** - 分布式...
7. **@GenericGenerator**: 提供了更多的主键生成策略,包括`native`, `uuid`, `hilo`, `assigned`, `identity`, `select`, `sequence`, `seqhilo`, `increment`, `foreign`, `guid`, `uuid.hex`, 和 `sequence-...
- **GUID/UUID**:全球唯一标识符,适用于分布式系统或多数据库环境。 - **序列号**:适用于Oracle等数据库,可以生成一系列有序的唯一值。 - **组合字段**:在某些情况下,可以通过组合多个字段形成一个唯一标识符...
3. **Guid**: 这种策略生成全局唯一的标识符(UUID)。 ```xml <id name="id" type="uuid.hex" column="ID"> <generator class="guid" /> ``` #### 五、总结 本教程介绍了Hibernate框架中对象标识符的重要性...
在分布式系统中,全局唯一标识符(Global Unique Identifier, GUID)的生成是一项基础而重要的技术。这些标识符被广泛应用于消息传递、订单处理和帖子识别等场景。本文将深入探讨分布式环境下ID生成的各种策略和技术...
- **sequence**: 使用数据库序列生成主键。 - **hilo**: 使用高/低位算法。 - **seqhilo**: 结合sequence和hilo算法。 - **guid**: 生成全局唯一标识符。 - **uuid**: 生成UUID。 - **native**: 根据不同的...
##### 方法三:UUID/GUID - **优点**: - 高性能,由于ID可以在本地生成,避免了远程调用的延迟。 - 全局唯一性,通过算法保证了生成的ID在全球范围内都是唯一的。 - **缺点**: - UUID通常包含随机性成分,不...
在Hibernate映射文件中,ID的生成策略设置为`uuid.hex`,这意味着在持久化对象时,会尝试将一个由`uuid.hex`生成的16进制字符串转换为`uniqueidentifier`,导致了错误。 解决这个问题的方法是将映射文件中的ID生成...