当前位置: 首页 > java >正文

开发指南130-实体类的主键生成策略

       平台实体类是依据JPA规范的,首先需要使用@Id注解。@Id 用于指定一个实体类的属性作为该实体的唯一标识符(即主键)。在 JPA 中,每个实体都必须有一个唯一标识符,以便在数据库中唯一标识该实体的实例。

        平台统一规定使用字符串类型做完主键。

   @Id 注解本身不指定主键的生成策略,还需要@GeneratedValue注解来实现。

         @GeneratedValue规定的生成策略包括

         1. 使用数据库自增策略(IDENTITY)

         2. 使用序列(SEQUENCE)

          3. 使用表(TABLE)

          4. 自动策略(AUTO)

          以上方法都和数据库相关,本平台不采用。平台采用如下自定义方式:

@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "****")

其中strategy可以有如下取值(只介绍平台使用的俩个取值):

  1. uuid.hex
    生成 UUID 字符串作为主键,长度为 32 位,格式如 a1b2c3d4-e5f6-7890-abcd-1234567890ab

  2. assigned主键由用户手动分配,而非由框架自动生成,需要在保存实体前手动设置主键值。

     总之,平台使用uuid格式的字符串作为关键字

http://www.xdnf.cn/news/17601.html

相关文章:

  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • 排错000
  • 基于 ZooKeeper 的分布式锁实现原理是什么?
  • windows上RabbitMQ 启动时报错:发生系统错误 1067。 进程意外终止。
  • 150V降压芯片DCDC150V100V80V降压12V5V1.5A车载仪表恒压驱动H6203L惠洋科技
  • git:分支
  • 提示词工程实战:用角色扮演让AI输出更专业、更精准的内容
  • 软件测评中HTTP 安全头的配置与测试规范
  • 数据变而界面僵:Vue/React/Angular渲染失效解析与修复指南
  • 基于 Axios 的 HTTP 请求封装文件解析
  • Console Variables Editor插件使用
  • 音视频学习(五十三):音频重采样
  • QT QProcess + xcopy 实现文件拷贝
  • Web安全自动化测试实战指南:Python与Selenium在验证码处理中的应用
  • Mybatis @Param参数传递说明
  • 【工作笔记】Wrappers.lambdaQuery()用法
  • RK3588在YOLO12(seg/pose/obb)推理任务中的加速方法
  • JS数组排序算法
  • 打靶日常-upload-labs(21关)
  • 【密码学】8. 密码协议
  • Android 开发问题:Invalid id; ID definitions must be of the form @+id/ name
  • 【系统分析师】软件需求工程——第11章学习笔记(上)
  • A#语言详解
  • GitHub上为什么采用Gradle编译要多于Maven
  • 【走进Docker的世界】深入理解Docker网络:从模式选择到实战配置
  • AI质检数据准备利器:基于Qt/QML 5.14的图像批量裁剪工具开发实战
  • 【代码随想录day 15】 力扣 404. 左叶子之和
  • nginx+Lua环境集成、nginx+Lua应用
  • 自动化备份全网服务器数据平台
  • UE材质World Position 和 Object Position