如何使用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
相关文章
|
消息中间件 存储 NoSQL
一文读懂Kafka Connect核心概念
Kafka Connect 是一种用于在 Apache Kafka 和其他系统之间可扩展且可靠地流式传输数据的工具。 它使快速定义将大量数据移入和移出 Kafka 的连接器变得简单。 Kafka Connect 可以摄取整个数据库或从所有应用程序服务器收集指标到 Kafka 主题中,使数据可用于低延迟的流处理。 导出作业可以将数据从 Kafka 主题传送到二级存储和查询系统或批处理系统进行离线分析。
|
Oracle Java 关系型数据库
@Id、@GeneratedValue的作用,以及@GeneratedValue的使用
@Id、@GeneratedValue的作用,以及@GeneratedValue的使用
|
Java Spring
SpringBoot: 启动Banner在线生成工具
SpringBoot: 启动Banner在线生成工具
43141 1
SpringBoot: 启动Banner在线生成工具
|
搜索推荐 开发者 UED
如何检测301重定向是否成功:完整指南
301重定向是网站维护与SEO优化的关键技术,用于将旧URL永久指向新URL。本文详解了301重定向的定义、检测必要性及6种检测方法(如浏览器开发者工具、cURL命令、在线工具等),并提供了常见问题排查和最佳实践建议,助您确保重定向成功实施,提升用户体验与搜索引擎优化效果。
1441 19
|
SQL Java 关系型数据库
JPA 之 QueryDSL-JPA 使用指南2
JPA 之 QueryDSL-JPA 使用指南2
2055 1
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
8109 14
Spring Boot 3 集成 Spring Security + JWT
|
存储 Java API
SpringBoot整合Flowable【02】- 整合初体验
本文介绍了如何基于Flowable 6.8.1版本搭建工作流项目。首先,根据JDK和Spring Boot版本选择合适的Flowable版本(7.0以下)。接着,通过创建Spring Boot项目并配置依赖,包括Flowable核心依赖、数据库连接等。然后,建立数据库并配置数据源,确保Flowable能自动生成所需的表结构。最后,启动项目测试,确认Flowable成功创建了79张表。文中还简要介绍了这些表的分类和常用表的作用,帮助初学者理解Flowable的工作原理。
4332 0
SpringBoot整合Flowable【02】- 整合初体验
|
前端开发 小程序 Java
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
本文详细介绍了如何在SpringBoot项目中统一处理接口返回结果及全局异常。首先,通过封装`ResponseResult`类,实现了接口返回结果的规范化,包括状态码、状态信息、返回信息和数据等字段,提供了多种成功和失败的返回方法。其次,利用`@RestControllerAdvice`和`@ExceptionHandler`注解配置全局异常处理,捕获并友好地处理各种异常信息。
8712 1
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
3283 0
|
前端开发 安全 Java
Manland:开源即生产力!避免90%新手踩坑!这套租房系统“房东/租客/管理三端”开源方案提升开发效率300%
今天介绍一款基于SpringBoot的房屋租赁系统——Manland,涵盖管理员、房东、租客三大角色,提供房屋管理、订单处理、权限控制等功能。采用MyBatis、Shiro、Thymeleaf等技术,确保系统高效安全。
737 0