如何使用JPA的UUID主键生成策略

简介: 这篇文章只写给主键用uuid并且用jpa的小伙伴。1. 数据实体类@Entity@Table(name = "ip_user")@GenericGenerator(name = "jpa-uuid", strategy = "uuid")...

这篇文章只写给主键用uuid并且用jpa的小伙伴。

1. 数据实体类

@Entity
@Table(name = "ip_user")
@GenericGenerator(name = "jpa-uuid", strategy = "uuid")
public class User  implements Serializable {
    @Id
    @GeneratedValue(generator = "jpa-uuid")
    @Column(length = 32)
    private String userId;
    ...
}

注意@GenericGenerator(name = "jpa-uuid", strategy = "uuid")@GeneratedValue(generator = "jpa-uuid") 两个注解是生成策略核心注解。

2. 数据库字段

img_322ab2773a67218e44cae3497886a6eb.png

3. 执行save方法后

不需要给user.id字段设置值,jpa会自动生成uuid并作为它的主键添加到表中。

img_dd4ae4bf322e92b7020bcf27e7271980.png
相关文章
|
12天前
|
算法
自定义UUID算法
自定义UUID算法
12 0
|
3月前
|
算法 云计算 索引
生成UUID和自定义UUID算法
生成UUID和自定义UUID算法
104 0
|
4月前
|
算法 Scala 数据库
MyBatisPlus-ASSIGN_ID、ASSIGN_UUID策略、雪花算法及简化配置
MyBatisPlus-ASSIGN_ID、ASSIGN_UUID策略、雪花算法及简化配置
199 0
|
8月前
|
存储 算法 安全
全局唯一ID(自增ID、UUID、雪花算法)
一、介绍 系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中,几乎都需要对大量的数据和消息进行唯一标识。在设计初期,我们需要考虑日后数据量的级别,如果可能会对数据进行分库分表,那么就需要有一个全局唯一id来标识一条数据或记录。生成唯一id的策略有多种,但是每种策略都有它的适用场景、优点以及局限性。
|
算法 NoSQL Oracle
分布式id的生成策略4种方式
分布式id的生成策略4种方式
218 0
分布式id的生成策略4种方式
|
分布式计算 算法 Python
Python编程:使用uuid库生成唯一ID
Python编程:使用uuid库生成唯一ID
134 0
|
Java
Java通用方法 -- 唯一识别码(universally unique identifier)(UUID)实现
提供通用唯一识别码(universally unique identifier)(UUID)实现
118 0
|
C++
MyBatis-Plus - ID_WORKER VS UUID
MyBatis-Plus - ID_WORKER VS UUID
140 0
MyBatis-Plus - ID_WORKER VS UUID
|
开发者
UUID 类|学习笔记
快速学习 UUID 类
|
数据库
数据库面试题【十四、主键使用自增ID还是UUID】
数据库面试题【十四、主键使用自增ID还是UUID】
114 0